2012-07-13 74 views
1

我有一個asp.net DropdownList控件。當我使用此代碼如何使用javascript獲取下拉選定值?

var id = $("[id*='drpCategory'] option:selected").val(); 

id始終是第一個下拉列表的索引。我怎樣才能獲得其他選定的值。 ?

+1

你有1下拉,允許選擇1個值嗎?多個值?多重下降? – jbabey 2012-07-13 18:50:03

+0

您遇到的問題是選擇器正在返回多個元素。在你的情況下,id變量現在是你必須循環選擇的選項列表。任何使用.each()的答案都會給你你需要的。 – Jerry 2012-07-13 18:52:15

+0

您是否有興趣知道哪些ID有哪些值或您正在處理的情況下,您有多個選擇元素,他們可以從中選擇項目,併成爲一個集合? – 2012-07-13 18:53:27

回答

0
$("#input_id").click(function(){ 
var id = $("#drpCategory option:selected").val(); 
})  
3

可以遍歷select元素,請注意,使用單獨的屬性選擇是太慢了,試試這個:

$("select[id*='drpCategory']").each(function(){ 
    alert(this.value) 
}) 
-1

jquerys .val()將返回你降的設定值的下降,或如果下拉菜單允許多個,則會選擇所選值的數組。

var selectedItems = $('[id*="drpCategory"]').val(); 

Docs

+0

請解釋你的downvotes。 OP特別說「我有一個asp.net DropdownList控件」,單數,單下拉,這可以很好地工作。 – jbabey 2012-07-13 18:56:57

2

嘗試這樣的:

var values = $("select[id*='drpCategory']").map(function(){ 
    return this.value; 
}).get(); 

,你將擁有所有dropdown S的選擇的值。

+0

喜歡這種方法。也許''選擇[id * ='drpCategory']「'因爲'* ='選擇器會很貴。 – 2012-07-13 18:51:47

+0

@BrianNickel好點,更新我的代碼。 – Engineer 2012-07-13 18:53:30

+0

感謝您的回答。我嘗試過,但沒有改變。當我選擇3.項目(第三項值是22)時,該值始終是下拉項的第一項值(第一項值爲2):s – csharpcoder 2012-07-13 19:07:33

相關問題