如何使用jQuery获取选择选项的标签?


114
<select>
<option value="test">label </option>
</select>

该值可以通过检索$select.val()

label呢?

有没有可以在IE6中使用的解决方案?


您的意思是如何获取选定的值,选定的值?您的情况是哪个标签?
蚂蚁

这个问题应该改写为“如何使用jQuery 获取选择选项的文本?” 并且所有对label的引用都应替换为文本,以避免与label属性混淆。
乔尔·戴维斯

Answers:



22

嗨,首先给一个ID作为选择

<select id=theid>
<option value="test">label </option>
</select>

那么您可以像这样调用所选标签:

jQuery('#theid option:selected').text()

13

供参考label,在选项标签上还有一个辅助属性:

//returns "GET THIS" when option is selected
$('#selecter :selected').attr('label'); 

HTML

<select id="selecter">
<option value="test" label="GET THIS">
Option (also called label)</option>
</select>

6

要在下拉菜单中获得特定选项的标签,您可以使用此功能-

$('.class_of_dropdown > option[value='value_to_be_searched']').html();

要么

$('#id_of_dropdown > option[value='value_to_be_Searched']').html();

3

我发现这很有帮助

$('select[name=users] option:selected').text()

使用this关键字访问选择器时。

$(this).find('option:selected').text()


2

试试这个:

$('select option:selected').prop('label');

这将为两种样式的<option>元素拉出显示的文本:

  • <option label="foo"><option> -> "foo"
  • <option>bar<option> -> "bar"

如果label元素中同时包含属性和文本,则将使用label属性,该属性与浏览器的行为相同。

为了后代,这是在jQuery 3.1.1下测试的


0
<SELECT id="sel" onmouseover="alert(this.options[1].text);"
<option value=1>my love</option>
<option value=2>for u</option>
</SELECT>


0

在现代浏览器中,您不需要JQuery。改为使用

document.querySelectorAll('option:checked')

或指定任何DOM元素代替 document


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.