好吧,假设我有这个

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

但这并不奏效。


当前回答

如果页面上只有一个选择标签那么你可以在id 'list'中指定选择 jQuery(“选择选项[value = 2]”)。text (); 获取选定文本 jQuery(“选择选项:选择”)。text ();

其他回答

试试下面的方法:

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

最初的代码片段不能正常工作的原因是OPTION标记是SELECT标记的子标记,SELECT标记具有id列表。

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();
});
$(this).children(":selected").text()

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

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

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

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

$("#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>