可能重复:
JavaScript retrieving the text of the selected option in select element
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="1"> Option1 </option>
<option value="2"> Option2 </option>
<option value="3"> Option3 </option>
<option value="4"> Option4 </option>
</select>
从上面的例子中,通过使用this.value将整数值传递给showUser函数。如果不是传递值,我想传递选项标签内的任何内容,如“Option1”,我该怎么做?我尝试过使用
showUser(this.innerHTML)
但这似乎不起作用,或者我可能不正确地接近它。我在网上查看了使用getElementByID的选项,但我认为每个选项都需要一个唯一的ID。
答案 0 :(得分:4)
您将使用:
showUser(this.selectedIndex >= 0 ? this.options[this.selectedIndex].text : '');
请参阅DOM2 HTML规范的HTMLSelectElement
和HTMLOptionsElement
文档。
答案 1 :(得分:2)
<强> HTML:强>
<select name="users" onchange="showUser(this)">
<option value="">Select a person:</option>
<option value="1"> Option1 </option>
<option value="2"> Option2 </option>
<option value="3"> Option3 </option>
<option value="4"> Option4 </option>
</select>
<强>的javascript:强>
function showUser(obj){
alert(obj.options[obj.selectedIndex].innerHTML);
}
答案 2 :(得分:1)
在此上下文中,this
指的是&lt; select&gt;元素,而不是选中的&lt;选项&gt;。我想你想做showUser(this.options[this.selectedIndex].innerHTML)