计数表中的cols,行Jquery

时间:2014-03-26 15:36:01

标签: javascript jquery

我有一个这样的表:enter image description here

如何计算表格末尾总行的行(level1 + level2 ... level5)和行(level1 + next line level1 ...)?

对于总行数,我使用它:

function totalRow()
{
    var total = 0;
    $('#test').each(function(){
        $('.input-md').each(function(){
            if ($(this).val() != '') {
                total += parseInt($(this).val());
            }
        });
    });
    $('#totalall').val(total);
}

3 个答案:

答案 0 :(得分:0)

html id在文档中必须是唯一的。类可以重复。

$('#test').each(function(){没有意义,因为文档中只能有一个id #test。它没有遍历你的行。

答案 1 :(得分:0)

我认为关键是您忘了选择#primary。 你可以写一下:

$('#test,#primary').each(function(){
    $('.input-md').each(function(){
        if ($(this).val() != '') {
            total += parseInt($(this).val());
        }
    });
});

但是如果你只在这个表中使用类input-md,那么你可以通过编写来简化它:

$('.input-md').each(function(){
    if ($(this).val() != '') {
        total += parseInt($(this).val());
    }
});

答案 2 :(得分:0)

我解决了我的问题。对于计数行:

function totalRow()
{
    var total = 0;
    $('table .count-row td .cols, .total-row').each(function() {
        if ($(this).prop('disabled')) {
            $(this).val(total);
            total = 0;
        } else {
            if ($(this).val() != '') {
                total += parseInt($(this).val());
            }
        }
    });
}

对于计数列:

function totalColumns()
{
    var id = ["one", "two", "three", "four", "five"];
    var totalCol = 0;
    for (var i=0; i<=5; i++) {
        $('.column-' + id[i]).each(function(){
            if ($(this).val() != '') {
                totalCol += parseInt($(this).val());
            }
            $('#count-' + id[i]).text(totalCol);
        });
        totalCol = 0;
    }
}