好吧,假设我有这个

<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("#list option[value='2']").text()

其他回答

Try

[...list.options].find(o=> o.value=='2').text

Let text =[…list.options]。找到(o = > o.value = = ' 2 ')。text; console.log(文本); <选择id =“列表”> <option value='1'>选项A</option> . /option> . /option> . > <option value='2'>选项B</option> <option value='3'>选项C</option> < /选择>

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

在id选择器后留下一个空格。

基于Paolo发布的原始HTML,我想出了以下内容。

$("#list").change(function() {
    alert($(this).find("option:selected").text()+' clicked!');
});

经过测试,它可以在ie和Firefox浏览器上运行。

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

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

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

我需要这个答案,因为我正在处理一个动态转换的对象,这里的其他方法似乎不工作:

element.options[element.selectedIndex].text

当然,这是使用DOM对象,而不是使用nodeValue、childNodes等解析其HTML。