选择第一个下拉列表与另一个下拉列表相同的值

时间:2012-08-07 11:26:32

标签: javascript

我想选择所有下拉列表与从主下拉列表中选择的值相同。如果从主要下拉列表中选择了一个选项,我就可以使用它,但如果有两个选择,则无法工作,我在下面添加了一些代码供您参考。

HTML:

<select name="ForceSelection" id="ForceSelection" onChange="javascript:return setDropDown();">
<option value="" selected>Select Name</option>
<option value="Pass">Pass</option>
<option value="Fail">Fail</option>
</select>

<select id="Qualifications" name="Qualifications">
    <option value="select">select</option>
    <option value="Pass">Pass</option>
    <option value="Fail">Fail</option>
</select>

<select  id="Qualifications" name="Qualifications">
    <option value="select">select</option>
    <option value="Pass">Pass</option>
    <option value="Fail">Fail</option>
</select>

JavaScript:

function setDropDown() {
    var index_name=document.QualificationForm.ForceSelection.selectedIndex;  

    document.QualificationForm.Qualifications.selectedIndex=index_name;

}

2 个答案:

答案 0 :(得分:0)

试试这个

function setDropDown() {
   var index_name = 
        document.getElementsByName('ForceSelection')[0].selectedIndex;
   var others = document.getElementsByName('Qualifications');
   for (i = 0; i < others.length; i++)
       others[i].selectedIndex = index_name;
}

答案 1 :(得分:0)

您可以使用以下内容,但目前未经测试:

function setDropDown(el){
    if (!el) {
        return false;
    }
    else {
        var index = el.selectedIndex,
            selects = document.getElementsByName('qualifications');
            for (var i=0, len=selects.length; i<len; i++){
                selects[i].selectedIndex = index;
            }
    }
}

这要求您将#ForceSelection select元素传递给函数,因此调用如下:

<select name="ForceSelection" id="ForceSelection" onChange="javascript:return setDropDown(this);">
<!-- other stuff -->
</select>

此传入元素的selectedIndex将应用于名称为select的其他qualifications元素。

此外,请允许我重申:id 必须 在文档中是唯一的,才能成为有效的HTML。