【发布时间】:2016-10-14 17:39:31
【问题描述】:
我需要使用 Javascript 访问从下拉列表中选择的值。但是每次我得到'null'作为答案时,虽然选择了一个列表项。
我的 HTML 页面:
<select class="mySelect">
<option value="st1" selected="selected">Create new Stream</option>
<option value="st1">Stream 1</option>
<option value="st2">Stream 2</option>
<option value="st3">Stream 3</option>
<option value="st4">Stream 4</option>
</select>
<input type="button" value="show attributes" class="panel-button-attr" onclick="choice()">
当点击上述按钮时,应提醒用户选择的值。所以在我的 Javascript 函数中:
function choice() {
var choice=document.getElementById("mySelect");
alert(choice);
var strUser = choice.options[choice.selectedIndex].text;
alert(strUser.toString());
}
在这里,我尝试使用第一个警报来检查是否正确识别了任何选定的列表项。但是,此时它显示为 null 并且 strUsr 行根本不运行。
我知道这实际上是一项微不足道的任务,但我发现很难弄清楚这种不一致。
【问题讨论】:
-
如果 getElementById 返回 null 表示它没有找到该元素。
-
您正在尝试访问 ID 为“mySelect”的元素,但您在 HTML 中将“mySelect”作为一个类而不是一个 ID。
-
@SpeedyNinja——不,简单的编码错误。
-
另外,使用 console.log 而不是 alert 来享受更好的开发者体验。
-
感谢所有快速回复的家伙。我的错,在这个项目上工作了几个小时,甚至简单的事情似乎都被隐藏了。将其更改为 ID 即可。
标签: javascript html select drop-down-menu getelementbyid