我正在尝试构建一个包含多项选择题的测验,其中一个问题有多个正确的答案。因此,我正在尝试检查我的问题中的哪些复选框已被学生选中,以便提供正确的反馈。我的代码是:
for(var i = 0; i< input1.length; i++)
{
if(input1[0].checked && input1[1].checked)
{
submit_answer.onclick = showFeedback1;
}
else
{
submit_answer.onclick = false1;
}
}
即使我只选择那两个,它也永远不会是第一个。无论我在if语句中添加什么内容,它只需要其他内容。
这只是我的.js
的一部分var quiz = document.getElementById('quiz');
var questions = quiz.getElementsByTagName('p');
input1 = questions[0].getElementsByTagName('input');
var submit_answer = document.getElementById('submit_answers'); // this is the submit button
答案 0 :(得分:2)
我无法正确地假设你想要做什么。
第一个问题
你的for循环在1处递增,因此在每次下一次迭代时,它使用相同的先前使用的值进行比较。
第二个问题
你的结构非常糟糕,你的脚本会抓取每个p中的所有输入元素。您应该在组中正确组织元素,然后匹配它们是否被选中。