所以...我在这里有这个代码我正在使用测验,我想知道我是否可以使它更有效...我想要的代码如果可能的话,我希望代码更短。如果您有什么建议请告诉我!
$("#done").click(function(){
var c1 = 0,c2 = 0,c3 = 0;
switch ($("input[name='question1']:checked").val()){
case 1: c1++;
break;
case 2: c2++;
break;
case 3: c3++;
}
//repeats 6 times with the number of the question incremented every time
switch ($("input[name='question8']:checked").val()){
case 1: c1++;
break;
case 2: c2++;
break;
case 3: c3++;
}
});
答案 0 :(得分:1)
您可以随时使用$.each()
迭代所有问题,并根据^(以词开头)问题选择您的输入名称
$("#done").click(function(){
var c1 = 0,c2 = 0,c3 = 0;
$('input[name^=question]:checked').each(function(){
switch(parseInt($(this).val())){
case 1: c1++;break;
case 2: c2++;break;
case 3: c3++;break;
}
});
console.log(c1 + " " + c2 + " " + c3);
});
编辑2 :添加了一个parseInt,因为我们的案例变量正在等待数字