如何获得 Javascript 选择框的选定文本

这东西很好用

<select name="selectbox" onchange="alert(this.value)">

但我想选择文本。我试过这种方式

<select name="selectbox" onchange="alert(this.text)">

它显示未定义。 我找到了如何使用 DOM 获取文本。但是我想这样做,我的意思是只使用 this. value。

237449 次浏览

为了得到所选项的值,您可以执行以下操作:

this.options[this.selectedIndex].text

这里访问选择的不同 options,并且使用 SelectedIndex来选择选择的 SelectedIndex,然后访问它的 text

阅读有关选择 DOM给你的更多信息。

this.options[this.selectedIndex].innerHTML

应提供选定项目的“显示”文本。如您所说,this.value仅仅提供了 value属性的值。

我知道这里没有人要求使用 jQuery 解决方案,但是值得一提的是,使用 jQuery,您可以只要求使用: $('#selectorid').val()

请尝试以下代码:

$("#YourSelect>option:selected").html()

用就是了

获取列出的文本

获取选定的索引值

如果希望获取值,可以使用此代码对 id = “ selectBox”的 select 元素进行处理

let myValue = document.querySelector("#selectBox").value;

如果你想得到文本,你可以使用这个代码

var sel = document.getElementById("selectBox");
var text= sel.options[sel.selectedIndex].text;

问题不在于价值,而在于文本。 想象一下你有这样的东西:

<select name="select">
<option value="1">0.5</option
<option value="2">0.7</option
</select>

你需要捕捉短信。 因此,对我来说,我已经尝试了 html (php) ,并且

 this.options[this.selectedIndex].text

(来自德兰阿扎巴尼)不工作,但

 this.options[selectedIndex].text

工作,像这样在 HTML 上

< select... onChange = “ upTVA (this.options [ selectedIndex ] . text)”; >

令人惊讶的是,对于一个选择的 this.text不工作,而 this.value的工作