2011-04-15 181 views
3

編輯:HTML和js波紋管是一個簡化版本。查看我帖子底部的jsfiddle鏈接,以充分了解我的問題。如何從select元素中獲取選定選項的文本?


我有選擇HTML元素:

<select name="foo" id="foo"> 
<option value="1">a</option> 
<option value="2">b</option> 
<option value="3">c</option> 
</select> 

我想用jQuery選擇的選項的標籤。然而,這,:

alert($("#foo option:selected").text()); 

返回:

a 
b 
c 

我希望得到公正,例如:

b 

的jsfiddle:http://jsfiddle.net/8KcYY/1/(點擊 「Vybraťznačku」 按鈕)。

+0

[似乎工作對我來說(http://jsfiddle.net/tLkRB/)。你能在jsfiddle.net上發佈一個非功能性的例子嗎? – lonesomeday 2011-04-15 11:34:32

+0

奇怪的是,根據這個文檔(http://api.jquery.com/selected-selector/)它應該工作。 – Kon 2011-04-15 11:35:23

+0

這個[示例](http://jsfiddle.net/Khez/8KcYY/)不起作用嗎? – Khez 2011-04-15 11:38:41

回答

11

這工作:

<select name="foo" id="foo"> 
<option value="1">a</option> 
<option value="2">b</option> 
<option value="3">c</option> 
</select> 
<input type="button" id="button" value="Button" /> 

$('#button').click(function() { 
    alert($('#foo option:selected').text()); 
}); 

自己嘗試一下:http://jsfiddle.net/Nyenh/

更簡單:

$('#foo').change(function(){ 
    var selected = $(this).find('option:selected'); 
    alert(selected.val() + ' ' + selected.text()); 
}); 

http://jsfiddle.net/qtRhQ/1/

+0

我已經把它發佈到jsfiddle。 – 2011-04-15 11:44:58

+0

對不起,現在鏈接是正確的。 – 2011-04-15 11:46:27

+0

在第一個選擇中選擇一些內容,然後單擊旁邊的按鈕。 – 2011-04-15 11:47:36

1
$("#dropdownlistID").text(); 

這將顯示您的「下拉列表」中的所有位置。要獲得唯一入選的項目使用:

$("#dropdownlistID").val(); 

或嘗試如

$("#foo").find(":selected").text() 

,而不是

$("#foo option:selected").text() 
+0

不,這將顯示選項標記的值屬性。我想要選擇打開和關閉標記之間的文本。 – 2011-04-15 11:35:42

+1

嘿,我沒有完成.... – 2011-04-15 11:47:22

相關問題