如何从jQuery的下拉列表中获取所选文本(而不是所选值)?


当前回答

对于所选项目的文本,请使用:

$('select[name="thegivenname"] option:selected').text();

对于所选项目的值,请使用:

$('select[name="thegivenname"] option:selected').val();

其他回答

只需添加以下行

$(this).prop('selected', true);

将.att替换为.prop,它适用于所有浏览器。

var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
var someName = "Test";

$("#<%= ddltest.ClientID %>").each(function () {
    $('option', this).each(function () {
        if ($(this).text().toLowerCase() == someName) {
            $(this).attr('selected', 'selected')
        };
    });
});

这将帮助你找到正确的方向。如果您需要进一步的帮助,请告诉我,上面的代码经过了充分测试。

如果变量中已经有下拉列表,这对我很有用:

$("option:selected", myVar).text()

这个问题的其他答案对我有帮助,但最终jQuery论坛线程$(this+“option:selected”).attr(“rel”)选项在IE中不起作用帮助最大。

更新:修复了上述链接

Try

dropdown.selectedOptions[0].text

函数read(){console.log(下拉列表.selectedOptions[0].text);}<select id=“下拉列表”><option value=“1”>第一个</option><option value=“2”>秒</option></选择><button onclick=“read()”>read</button>