当第一个选择的项目框 1 更改时重置选项下拉菜单 2 mysql
Posted
技术标签:
【中文标题】当第一个选择的项目框 1 更改时重置选项下拉菜单 2 mysql【英文标题】:Reset options dropdown menu 2 when first selected item box 1 is changed mysql 【发布时间】:2015-11-27 05:48:54 【问题描述】:我使用此代码从下拉菜单 2 中隐藏选定的选项。但是当用户更改第一个选项后,我想重置第二个下拉列表以防止相同的值被选择两次。
例如
列表 1:选择 A 列表 2:选择 B列表 1:选择 B **
** 当列表 1 更改时,我如何重置列表 2?这是为了防止列表 1 和列表 2 获得相同的值 (B)!
感谢和亲切的问候
HMTL:
<select name="anfang">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
<select name="secondSelect">
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
var select1 = document.querySelector('select[name="anfang"]'),
secondList= document.querySelectorAll('select[name="secondSelect"]
option');
select1.onchange = function()
var selected = this.value;
for(var i=0;i<secondList.length;i++)
if(secondList[i].value==selected)
secondList[i].setAttribute('disabled',true);
else if(secondList[i].getAttribute('disabled'))
secondList[i].removeAttribute('disabled');
【问题讨论】:
这段代码有什么问题?似乎对我有用。 jsfiddle.net/mbfczbbq 没关系,我知道问题出在哪里了。 【参考方案1】:您可以通过几种方式做到这一点。我个人喜欢将其设置为空白值,但您可以取消选择要禁用的值,例如:
if(secondList[i].value==selected)
secondList[i].setAttribute('disabled',true);
secondList[i].selected = false;
else if(secondList[i].getAttribute('disabled'))
secondList[i].removeAttribute('disabled');
见example。
【讨论】:
很高兴它对您有用。那么请标记为正确答案。谢谢。以上是关于当第一个选择的项目框 1 更改时重置选项下拉菜单 2 mysql的主要内容,如果未能解决你的问题,请参考以下文章