我正在制作一个涉及选择框的测验应用程序。用户选择一个选项,当他们按下按钮时,它应该通过检查值数组来检查所选选项是否是正确的答案。我无法弄清楚如何从选择框中获取所选值。我试图找到有关这方面的信息,但我只想使用JS,而不是JQuery。我尝试使用:
var item = document.getElementById("selections");
var selection = item.options[item.selectedIndex].value;
但我收到Type Error
,说item.selectedIndex
未定义。我很困惑,因为根据我的发现,selectedIndex
是select标签的默认属性?我之前只使用过单选按钮,使用for循环并检查每个选项以查看哪个已被选中,但我无法在此处使用它。我不知道它是否重要,但我没有表格标签,只是将js函数链接到按钮上的事件监听器。任何帮助,将不胜感激。谢谢!
编辑:根据请求,这是我的代码的小提琴:https://jsfiddle.net/jmf68ycu/
问题所在的部分是第一行的submit()
函数。
更新:我在网上发现了一些与JS有关的问题,试图在元素加载之前调用元素,所以我把变量放在函数中,只在按下按钮时调用。问题仍然存在(同样的错误)。
答案 0 :(得分:1)
你这样使用
var item = document.getElementById("selections").value;
选择值存储项目变量
此代码全部为您使用。 :)
答案 1 :(得分:0)
您在某处遇到语法错误。你的代码看起来正确。你可能没有得到正确的身份证。你的第一行可能不会返回正确的选择。
var e = document.getElementById("bla");
var str = e.options[e.selectedIndex].value;
alert(str);
<select id="bla">
<option value="val1">test1</option>
<option value="val2" selected="selected">test2</option>
<option value="val3">test3</option>
</select>