如何传递innerHTML参数?
可能重复:
JavaScript retrieving the text of the selected option in select element如何传递innerHTML参数?
<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。
你会使用:
showUser(this.selectedIndex >= 0 ? this.options[this.selectedIndex].text : '');
见HTMLSelectElement
和HTMLOptionsElement
的DOM2 HTML规范的文档。
如果我在最后用双引号“”替换单引号“',上面的代码完美地工作。 (我认为这是因为onchange已经被引号包围了)。谢谢您的回复。 – user1152440 2012-02-29 16:42:10
在这方面,this
指<选择>元素,而不是所选择的选项< >。我想你想要做的showUser(this.options[this.selectedIndex].innerHTML)
该解决方案完美运行。 – user1152440 2012-02-29 16:43:16
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);
}
谢谢你的回复,这也适用! – user1152440 2012-02-29 16:44:18
欢迎你好友..很高兴帮助你.. – 2012-02-29 17:48:08
我看着这个之前,但是我想避免此特定情况下的元素ID。 – user1152440 2012-02-29 16:45:27
然后只需忽略'getElementById'步骤。你已经有了对元素的引用('this')。使用它。 – 2012-02-29 17:04:53