好吧,假设我有这个

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

但这并不奏效。


当前回答

我想要一个动态版本的选择倍数,将显示什么被选择到右边(希望我读到并看到$(this).find…早些时候):

<script type="text/javascript">
    $(document).ready(function(){
        $("select[showChoices]").each(function(){
            $(this).after("<span id='spn"+$(this).attr('id')+"' style='border:1px solid black;width:100px;float:left;white-space:nowrap;'>&nbsp;</span>");
            doShowSelected($(this).attr('id'));//shows initial selections
        }).change(function(){
            doShowSelected($(this).attr('id'));//as user makes new selections
        });
    });
    function doShowSelected(inId){
        var aryVals=$("#"+inId).val();
        var selText="";
        for(var i=0; i<aryVals.length; i++){
            var o="#"+inId+" option[value='"+aryVals[i]+"']";
            selText+=$(o).text()+"<br>";
        }
        $("#spn"+inId).html(selText);
    }
</script>
<select style="float:left;" multiple="true" id="mySelect" name="mySelect" showChoices="true">
    <option selected="selected" value=1>opt 1</option>
    <option selected="selected" value=2>opt 2</option>
    <option value=3>opt 3</option>
    <option value=4>opt 4</option>
</select>

其他回答

你可以使用.text()函数来获取选定的选项文本;

你可以像这样调用函数:

jQuery("select option:selected").text();

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

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

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

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

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

$(this).children(":selected").text()