类似这种没有完成动作的计算(例如:点击提交问卷,就是一种完成动作,可以在这时候去计算总分),你需要在每一次操作的时候计算总分,如果有使用Vue,用计算属性就很漂亮了~
所以上面的点击事件需要更改:(代码还没有验证,但思路是那样)
//记分设置
$(document).ready(function(){
var result = 0;
$('.a').click(function(){
result = result + 1;
console.log(result);
});
$('.b').click(function(){
result = result + 2;
console.log(result);
});
$('.c').click(function(){
result = result + 3;
console.log(result);
});
$('.d').click(function(){
result = result + 4;
console.log(result);
});
});
// 修改为:
$(document).ready(function(){
$(".choice input[type='radio']").on('click', count);
});
var result = 0;
function count() {
var _result = 0;
for (var i = 1; i <= 10; i++) {
var option = $(".choice input[name='"+i+"']:checked"); // 选中的选项
if (option.attr("class")) {
var score = 0;
switch(option.attr("class")) {
case "a":
score = 1;
break;
case "b":
score = 2;
break;
case "c":
score = 3;
break;
case "d":
score = 4;
break;
default:
break;
}
_result += score;
}
}
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…