0

すべてのドロップダウンを選択して、プライマリ ドロップダウンから選択した値と同じにしたいと考えています。プライマリ ドロップダウンから 1 つの選択が選択されている場合は機能しますが、2 つの選択がある場合は機能しません。参考までに以下のコードを追加しました。

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;

}
4

2 に答える 2

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;
}
于 2012-08-07T11:32:11.823 に答える
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ます。

また、繰り返しますが、有効な HTML であるためには、ドキュメント内で一意であるid 必要があります。

于 2012-08-07T11:32:43.277 に答える