如何使用jquery获取选择的选定选项的文本?

IT技术 javascript jquery
2021-03-02 09:16:28

如果我有这个选择:

     <select id="days">
        <option value="0">Today</option>
        <option value="1">Yesterday</option>
        <option value="7">Last week</option>
     </select>

并且有人选择了第三个选项“上周”,我可以使用 获得上周的值(即 7)$("#days").val(),但是如何获得文本的值,即“上周”?

5个回答
$("#days option:selected").text()

.text() 不会给你你想要的结果吗?

http://marcgrabanski.com/article/jquery-select-list-values - 也发现了这个

我也试过.text()了,但它给了我一个包含所有选项的字符串,而不仅仅是选定的选项
2021-05-09 09:16:28
啊,是的,您确实需要像 najmeddine 建议的那样使用,并确保您只获得选定的项目
2021-05-21 09:16:28

将类“myOption”添加到选项,以及带有所需文本的 sttribute 值。然后:

$(".myOption").each( function( i ) { if( $(this).attr('selected') ) { $(this).attr('value') } );

可能有点冗长(我确定我能记住一个更简单的方法......)

var value = $("#days").val(); 
$("option[value='" + value + "']", "#days").text()

我更喜欢使用:

var s = $("#days");
var i = s.prop("selectedIndex"); //get selected indexs
s.children().eq(i).text();