好吧,假设我有这个

<select id='list'>
    <option value='1'>Option A</option>
    <option value='2'>Option B</option>
    <option value='3'>Option C</option>
</select>

如果我想在值为“2”时获得“Option B”,选择器会是什么样子?

请注意,这并不是询问如何获取所选文本值,而是询问它们中的任何一个,无论是否被选中,这取决于value属性。我试着:

$("#list[value='2']").text();

但这并不奏效。


当前回答

我想要得到选定的标签。这在jQuery 1.5.1中是可行的。

$("#list :selected").text();

其他回答

你可以使用.text()函数来获取选定的选项文本;

你可以像这样调用函数:

jQuery("select option:selected").text();

我正在寻找通过内部字段名而不是ID来获取val,从谷歌到这篇文章,这有助于但没有找到我需要的解决方案,但我得到了解决方案,这里是:

因此,这可能会帮助某些人使用字段内部名称来查找所选值,而不是使用SharePoint列表的长id:

var e = $('select[title="IntenalFieldName"] option:selected').text(); 

它在寻找一个id为list的元素它的属性值为2。 你想要的是列表的option子元素:

$("#list option[value='2']").text()

这对我来说是完美的,我正在寻找一种方法来发送MySQL生成的选项的两个不同的值,下面是通用的和动态的:

(美元);(“选择:选择”)。text ();

正如其中一条评论中提到的。有了这个,我就可以创建一个动态函数,它适用于所有我想要获得两个值的选择框,选项值和文本。

几天前我注意到,当把jQuery从1.6更新到1.9的站点时,我使用了这个代码,这个停止工作…可能是与另一段代码冲突……不管怎样,解决方案是从find()调用中删除option:

$(this).find(":selected").text();

这就是我的解决方案……只有在更新jQuery后遇到任何问题时才使用它。

你可以从下列方法中选择一种

$("#list").find('option').filter('[value=2]').text()

$("#list").find('option[value=2]').text()

$("#list").children('option[value=2]').text()

$("#list option[value='2']").text()

$(function(){ console.log($("#list").find('option').filter('[value=2]').text()); console.log($("#list").find('option[value=2]').text()); console.log($("#list").children('option[value=2]').text()); console.log($("#list option[value='2']").text()); }); <script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <select id='list'> <option value='1'>Option A</option> <option value='2'>Option B</option> <option value='3'>Option C</option> </select>