使用jQuery计算表单值等于0

时间:2013-04-10 20:14:48

标签: jquery html

$("#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”。

3 个答案:

答案 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)

Fiddle

 $("#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();