这件事情很完美
<select name="selectbox" onchange="alert(this.value)">
但我想选择文字。我试过这种方式
<select name="selectbox" onchange="alert(this.text)">
显示未定义。 我找到了如何使用DOM来获取文本。但我想以这种方式做到这一点,我的意思就像只使用this.value。
答案 0 :(得分:117)
this.options[this.selectedIndex].innerHTML
应该为您提供所选项目的“显示”文本。与您说的一样,this.value
仅提供value
属性的值。
答案 1 :(得分:63)
要获取所选项目的值,您可以执行以下操作:
this.options[this.selectedIndex].text
此处访问了不同的options
选项,SelectedIndex
用于选择所选的一个,然后正在访问其text
。
详细了解选择DOM here。
答案 2 :(得分:36)
请尝试以下代码:
$("#YourSelect>option:selected").html()
答案 3 :(得分:31)
只需使用
$('#SelectBoxId option:selected').text();
用于获取列出的文字
$('#SelectBoxId').val();
获取所选索引值
答案 4 :(得分:1)
我知道没有人在这里要求jQuery解决方案,但值得一提的是,使用jQuery,你可以问:$('#selectorid').val()
答案 5 :(得分:0)
如果要获取值,可以将此代码用于id为“ selectBox”的select元素。
let myValue = document.querySelector("#selectBox").value;
如果要获取文本,可以使用此代码
var sel = document.getElementById("selectBox");
var text= sel.options[sel.selectedIndex].text;