我已经坚持这个问题很长一段时间了,我已经开始尝试编写其他测验样式ala-Buzzfeed了。现在,逻辑是,"点击所有单选按钮组中的单选按钮后,显示div"
我有点"有点"通过欺骗我的方式来解决这个问题,a.k.a通过制作一个按钮来监听所有组中的单选按钮被点击时。但是,这不是我想要发生的事情。
帮助?
//PART OF THE CODE GOES...
//RESULTS ALGORITHM
$('#submit').click(function() {
var choice1 = 0;
var choice2 = 0;
var choice3 = 0;
var choice4 = 0;
var choice5 = 0;
var choice6 = 0;
$('input[type=radio]').prop('disabled', true);
//REQUIRES ANSWERS TO ALL QUESTIONS
if (($("input[name='qa4']:checked").length == "0") ||
($("input[name='qa5']:checked").length == "0")){
alert("Please answer all questions.");
}
else{
//TABULATE THE RESULTS OF ANSWERS
switch(parseInt($("input[name='qa1']:checked").val())){
case 1: choice1++; break;
case 2: choice2++; break;
case 3: choice3++; break;
case 4: choice4++; break;
case 5: choice5++; break;
case 6: choice6++; break;
}
答案 0 :(得分:2)
$("input[name^=qa]").on('change', function() {
if(!$("input[name^=qa]:not(:checked)").length) {
//all input box that name begin with "qa" checked
$('div#id').show();
} else {
// do some stuff here while it's not all checked.
}
});
答案 1 :(得分:0)
我通过将.click()
括在giveResults()
函数中来解决这个问题,该函数将在.click()
上的.a-choice
事件中调用,每次输入为:checked
;)