如何通过javascript中的选项获取选择框元素的值?

时间:2012-03-15 12:08:54

标签: javascript jquery

我的选择框如下:

<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();  

我该怎么做?

6 个答案:

答案 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();

http://jsfiddle.net/JWjKf/

答案 3 :(得分:0)

试试这个

var b = $("#list").find('option:contains("B")').val();

见这里:http://jsfiddle.net/MxpTZ/1/

答案 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();
相关问题