2014-11-02 31 views
0

我只能選擇下一個同步是由onchange事件完成,如「mySelect」同步「mySelect1」,「mySelect1」同步「mySelect2」,「mySelect2」同步「mySelect3」同步<select>通過<option>位置

<form> 
 

 
<select name="mySelect" id="mySelect" onchange="mySelect1.options[selectedIndex].selected=true"> 
 
<option value="qww">qww</option> 
 
<option value="12">12</option> 
 
<option value="12w">12w</option> 
 
<option value="wq">wq</option> 
 
</select> 
 
<select name="mSelect1" id="mySelect1" onchange="mySelect2.options[selectedIndex].selected=true" > 
 
<option value="1s">1s</option> 
 
<option value="22s">22s</option> 
 
<option value="wz">wz</option> 
 
<option value="wzz">wzz</option> 
 
</select> 
 
<select name="mSelect2" id="mySelect2" onchange="mySelect3.options[selectedIndex].selected=true"> 
 
<option value="Apple">Apple</option> 
 
<option value="dddw">dddw</option> 
 
<option value="xc">xc</option> 
 
<option value="zz">zz</option> 
 

 
</select> 
 
<select name="mSelect3" id="mySelect3" > 
 
<option value="ddd">ddd</option> 
 
<option value="ddxw">ddxw</option> 
 
<option value="xxc">xxc</option> 
 
<option value="zxz">zxz</option> 
 

 
</select> 
 
</form>

,但我認爲通過選擇第一選擇,讓所有的價值選擇的背後都顯示相同的位置。你可以做到嗎?

就這樣,當我選擇「mySelect」時,選擇「12」,然後選擇「22s」,「mySelect2」,「dddw」,「mySelect3」,「ddxw」同一位置

回答

1

代碼從我的頭頂,應該做的工作,雖然

$("select").change(function() { 
    var targetIndex=$(this).prop("selectedIndex") 
    $("select").each(function() { 
     $(this).val($(this).find("option:eq("+targetIndex+")").val()); 
    }); 
}); 

http://jsfiddle.net/uvmt0wos/

+0

您可以使用.index()。 – Scimonster 2014-11-02 08:40:15

+0

那麼,我不知道那個函數是否存在,舉起來會更新代碼。感謝信息 – MarshallOfSound 2014-11-02 08:40:47

+0

.index(),因爲它不是爲這個用例設計的,但我發現屬性'selectedIndex'工作得很好。答案已經相應更新 – MarshallOfSound 2014-11-02 08:44:27