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


当前回答

 $("#selectID option:selected").text();

您可以使用任何jQuery选择器来代替#selectID,例如.selectClass using class。

如本文文档中所述。

:selected选择器适用于<option>元素。它不适用于复选框或无线电输入;用途:已检查。

.text()根据此处的文档。

获取匹配元素集合中每个元素的组合文本内容,包括其后代。

因此,您可以使用.text()方法从任何HTML元素中获取文本。

有关详细说明,请参阅文档。

其他回答

这段代码对我有用。

$("#yourdropdownid").children("option").filter(":selected").text();

这里张贴的答案,例如,

$('#yourdropdownid option:selected').text();

对我来说没用,但这样做了:

$('#yourdropdownid').find('option:selected').text();

它可能是jQuery的旧版本。

这对我来说很有用:

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

我正在使用jQuery 1.10.2

var someName = "Test";

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

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

$('#id').find('option:selected').text();