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


当前回答

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

其他回答

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

$(函数(){alert('.val()='+$('#selectnumber').val()+'AND html()='+$('#selectnumber选项:selected').html()+'AND.text()=‘+$(‘#selectnumber选项:select').text(());});<script src=“https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js“></script><html xmlns=“http://www.w3.org/1999/xhtml"><head runat=“server”><title></title></head><body><form id=“form1”runat=“server”><div><select id=“selectnumber”><option value=“1”>一个</option><option value=“2”>两个</option><option value=“3”>三个</option><option value=“4”>四个</option></选择></div></form></body></html>

对于多选:

$("#yourdropdownid :selected").map(function(i, v) { return $.trim($(v).text()); }
var someName = "Test";

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

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

对于正在使用SharePoint列表且不想使用长时间生成的id的用户,这将起作用:

var e = $('select[title="IntenalFieldName"] option:selected').text();