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


当前回答

如果变量中已经有下拉列表,这对我很有用:

$("option:selected", myVar).text()

这个问题的其他答案对我有帮助,但最终jQuery论坛线程$(this+“option:selected”).attr(“rel”)选项在IE中不起作用帮助最大。

更新:修复了上述链接

其他回答

在jQuery中的下拉列表/选择更改事件上选择文本和所选值

$("#yourdropdownid").change(function() {
    console.log($("option:selected", this).text()); //text
    console.log($(this).val()); //value
})

对于多选:

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

这里张贴的答案,例如,

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

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

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

它可能是jQuery的旧版本。

$("#dropdownID").change(function(){
  alert($('option:selected', $(this)).text());
});

使用此

const select = document.getElementById("yourSelectId");

const selectedIndex = select.selectedIndex;
const selectedValue = select.value;
const selectedText = select.options[selectedIndex].text;   

然后在selectedValue和selectedText中获取所选值和文本。