我正在尝试获取所选选项的值,但无法获取,请提供帮助:我对JavaScript还是个新手非常感谢您的帮助。这是我代码第一个
wecizke31#
让答案=文档.查询选择器('#总体评分').值;
ctehm74n2#
原因是下面的代码片段超出了checkOverallRating()的范围,一旦页面加载,它就会执行,并且无论您选择哪个选项都保持不变
checkOverallRating()
let overall = document.querySelector('select'); let overallValue = overall.options[overall.selectedIndex].text
为了使它像你预期的那样工作,你需要把它们放在checkOverallRating()里面
<form> <select method="POST" name="OverallRating" id="OverallRating" class="form-select form-select-lg mb-3" aria-label=".form-select-lg example"> <option value= 0 selected>Select the desired Overall Rating</option> <option value="5">Outstanding Performance</option> <option value="4">Excceds Target</option> <option value="3">Meets Target</option> <option value="2">Partially Meets Target</option> <option value="1">Needs Improvement</option> </select> <button type="submit" id="submitbtn">Submit</button> </form> <script> btn = document.getElementById('submitbtn') btn.addEventListener('click', checkOverallRating); function checkOverallRating(e){ let overall = document.querySelector('select'); let overallValue = overall.options[overall.selectedIndex].text if (overall == 0) { alert(overallValue); e.preventDefault(); } else { alert(overallValue); e.preventDefault(); } } </script>
uwopmtnx3#
在用户选择任何内容之前,您将在加载页面时立即阅读所选的值。在用户选择某个值之前,不要尝试读取所选的值。例如在按钮单击处理程序中:第一个顺便说一句......您的if语句没有任何意义,因为HTML元素对象永远不会等于0。但好消息是,if语句也完全没有必要,因为您在这两种情况下做的是相同的事情。因此,只需删除它:第一次
if
0
acruukt94#
您应该获取select输入的id,它将返回所选选项的值
document.getElementById(OverallRating).value;
4条答案
按热度按时间wecizke31#
让答案=文档.查询选择器('#总体评分').值;
ctehm74n2#
原因是下面的代码片段超出了
checkOverallRating()
的范围,一旦页面加载,它就会执行,并且无论您选择哪个选项都保持不变为了使它像你预期的那样工作,你需要把它们放在
checkOverallRating()
里面uwopmtnx3#
在用户选择任何内容之前,您将在加载页面时立即阅读所选的值。
在用户选择某个值之前,不要尝试读取所选的值。例如在按钮单击处理程序中:
第一个
顺便说一句......您的
if
语句没有任何意义,因为HTML元素对象永远不会等于0
。但好消息是,if
语句也完全没有必要,因为您在这两种情况下做的是相同的事情。因此,只需删除它:第一次
acruukt94#
您应该获取select输入的id,它将返回所选选项的值