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


当前回答

只需添加以下行

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

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

其他回答

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

如果您使用asp.net并编写

<Asp:dropdownlist id="ddl" runat="Server" />

那么你应该使用

$('#<%=ddl.Clientid%> option:selected').text();
$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});

如果要将结果作为列表,请使用:

x=[];
$("#list_id").children(':selected').each(function(){x.push($(this).text());})
var someName = "Test";

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

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