2011-12-16 192 views
0

我有3個下拉菜單(組合框)或在頁面上選擇列表。它目前給我的價值來自第一個下拉框。 我正在尋找一種方法來知道從頁面上的多個下拉菜單中選擇哪個下拉菜單?

  1. 哪個下拉的值被選中並提交了值?
  2. 禁用另外兩個下拉菜單,以便只選擇1個值?

我使用jQuery使用jQuery的這個

var id = $("select option:selected").attr("value"); 

任何建議,以實現1來檢查值和上述2?

此處演示http://jsfiddle.net/rd2K4/1/ 謝謝。

+0

您有三個組合框,每個組合框都有一個空選項,表示用戶沒有從該列表中做出選擇。是對的嗎?你關心哪個選擇選擇了非空選項?那是對的嗎? [編輯:去除misinfo about:selected] – smendola 2011-12-16 18:18:29

+0

嗯,下面的解決方案做了我想要的大部分。謝謝 – pal4life 2011-12-16 18:22:42

回答

1

如果我正確理解你的問題,以下應該工作。它處理所有選擇元素的更改事件。當一個改變,它禁止他人和選擇的值存儲到一個變量selectedValue

$(function() { 
    var selects = $("select"); 
    selects.on("change", function() { 
     var $this = $(this); 
     var selectedValue = $this.val(); 
     selects.not($this).attr("disabled", "disabled"); 

     // do something with the selectedValue here ... 
    }); 
}); 

注:使用的.on()需要jQuery的1.7+

演示鏈接可以在這裏找到:http://jsfiddle.net/QnKGu/