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


当前回答

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

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

其他回答

试试看:

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

对于ASP.NET下拉列表,可以使用以下选择器:

$("[id*='MyDropDownId'] :selected")

对于多选:

$("#yourdropdownid :selected").map(function(i, v) { return $.trim($(v).text()); }
 $("#selectID option:selected").text();

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

如本文文档中所述。

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

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

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

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

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

$("#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());
});