$("#scorecard").change(function() {
var total = 0;
$("#scorecard :checked").each(
function() {
total += parseInt($(this).val())
});
$("#score").val(total);
}).change();
此函数实时汇总html表格中的无线电选中值。 http://jsfiddle.net/hireconor/DDfbf/
如何修改它,以便计数检查的等于0的无线电值?因此,如果选中的值为0,则等于1,其他任何内容= 0和总和然后减去18,在文本框中显示id =“score”。
答案 0 :(得分:0)
这是一种有点不明显的方法:
var total = $('#scorecard :checked').filter(function() {
return $(this).val() === '0';
}).length;
这是一个更新的jsfiddle of it in action。
编辑:我不确定如何解释minus it by 18
...是18 - total
还是total - 18
?无论如何,这里有一个更新的fiddle显示前者。
答案 1 :(得分:0)
演示:http://jsfiddle.net/DDfbf/3/
$("#scorecard").change(function() {
var total = 0;
var checkedTotal = 0;
$("#scorecard :checked").each(
function() {
total += parseInt($(this).val())
if (this.value == 0) {
checkedTotal++;
}
});
$("#score").val(total);
console.log(checkedTotal);
}).change();
答案 2 :(得分:0)
$("#scorecard").change(function() {
var total = 0;
$("#scorecard :checked").each(
function() {
var valu = parseInt($(this).val());
if(valu === 0){
total += 1;
}
else{
total += valu;
}
});
$("#score").val(18-total);
}).change();