我的选择框如下:
<select id='list'>
<option value='1'>A</option>
<option value='2'>B</option>
<option value='3'>C</option>
</select>
我想获得选项B的值而不选择它。
使用jQuery我可以做相反的事情,即通过以下方式知道值时获取文本:
$("#list option[value='2']").text();
但我想反过来。我尝试了以下但没有工作:
$("#owner option['B']").val();
我该怎么做?
答案 0 :(得分:4)
使用:contains
选择器。
假设“所有者”确实是您<select>
的ID(在您的示例中为“列表”),您可以使用:
$("#owner option:contains('B')").val() // 2
答案 1 :(得分:2)
您可以使用:contains(text)
选择器,仅获取包含特定文字的元素:
$("#list option:contains('B')").val();
答案 2 :(得分:1)
您可以使用.filter来获取正确的选项元素:
$("#list option").filter(function() {
return $(this).text() == "B";
}).val();
答案 3 :(得分:0)
答案 4 :(得分:0)
试试这个脚本
$('#list option:contains("B")').prop('value') //jquery 1.6 or later
oR
$('#list option:contains("B")').attr('value');
答案 5 :(得分:-1)
如果你想按位置获取元素,你可以这样做:
$('#list').children().eq(1).val();