好吧,假设我有这个

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

但这并不奏效。


当前回答

$("#list option:selected").each(function() {
   alert($(this).text());
});  

用于#list元素中的多个选定值。

其他回答

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

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

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

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

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

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

试试这个:

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

Use:

function selected_state(){
    jQuery("#list option").each(function(){
        if(jQuery(this).val() == "2"){
            jQuery(this).attr("selected","selected");
            return false;
        }else
           jQuery(this).removeAttr("selected","selected"); // For toggle effect
    });
}

jQuery(document).ready(function(){
    selected_state();
});