2011-04-15 128 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

相关问题