我正在使用JS制作一个简单的测验,问题在于我的内部循环(即 i
)没有按照预期工作。
我有3个问题,每个问题都有3个单选按钮选项,每个问题的选项具有相同的名称。第一个问题的所有选项都有 name='cap'
,第二个问题的选项是 name='an'
,第三个问题是 name='lang'
。
我的js函数如下:
function my(){
var count=0;
var totalQuestions = 3;
var correctAnswers = 0;
var alertText;
var n=["cap","an","lang"];
var j,i;
for(j=0; j<n.length; ++j){
var x = document.getElementsByName('n[j]');
for(i = 0; i < x.length; ++i){
if (x[i].checked){
if (x[i].value == 'true'){
count=count+10;
correctAnswers++;
break;
}
}
}
}
if(correctAnswers == totalQuestions){
alertText = "Congratulations! You got all the questions right!";
}
else {
alertText = "You got " + correctAnswers + " correct answers and score is " + count;
}
alert(alertText);
}