如何从jQuery的下拉列表中获取所选文本(而不是所选值)?
当前回答
$("#selectID option:selected").text();
您可以使用任何jQuery选择器来代替#selectID,例如.selectClass using class。
如本文文档中所述。
:selected选择器适用于<option>元素。它不适用于复选框或无线电输入;用途:已检查。
.text()根据此处的文档。
获取匹配元素集合中每个元素的组合文本内容,包括其后代。
因此,您可以使用.text()方法从任何HTML元素中获取文本。
有关详细说明,请参阅文档。
其他回答
var e = document.getElementById("dropDownId");
var div = e.options[e.selectedIndex].text;
如果变量中已经有下拉列表,这对我很有用:
$("option:selected", myVar).text()
这个问题的其他答案对我有帮助,但最终jQuery论坛线程$(this+“option:selected”).attr(“rel”)选项在IE中不起作用帮助最大。
更新:修复了上述链接
这里张贴的答案,例如,
$('#yourdropdownid option:selected').text();
对我来说没用,但这样做了:
$('#yourdropdownid').find('option:selected').text();
它可能是jQuery的旧版本。
只需添加以下行
$(this).prop('selected', true);
将.att替换为.prop,它适用于所有浏览器。
对于所选项目的文本,请使用:
$('select[name="thegivenname"] option:selected').text();
对于所选项目的值,请使用:
$('select[name="thegivenname"] option:selected').val();