当第一个选择的项目框 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>

javascript

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的主要内容,如果未能解决你的问题,请参考以下文章

angular 无法重置下拉框的值

Excel数据有效性设置的下拉菜单内容有多个,但选择时只能单选,如何设置下拉菜单,可以在选择时多选?

如何设置combobox 下拉框的内容

在CodeIgniter中验证失败后重置下拉列表值

单击按钮后如何重置引导选择的值

Plotly交互式绘图python:将下拉菜单更改为输入框