如何使用jQuery汇总表中的选定行

如何使用jQuery汇总表中的选定行

这里有张桌子

SUM | <input type="text"> | <input type="text"> |
    | <input type="text"> | <input type="text"> |
    | <input type="text"> | <input type="text"> |
SUM | <input type="text"> | <input type="text"> |
    | <input type="text"> | <input type="text"> |
FOO | <input type="text"> | <input type="text"> |
BAR | <input type="text"> | <input type="text"> |


当输入值更改时,我想获取“总和行”下方的列总和。
如果还有FOO BAR以外的其他列,则不应将其相加。

这是什么方法?虚构的想法:每列都有参考值,该值将被求和。

提琴快速入门:
http://jsfiddle.net/igos/vNxzu/

编辑
它应该总计到下一个总和行。

row 0 col 0  = row 1 col 0  + row 2 col 0
row 0 col 1  = row 1 col 1  + row 2 col 1
row 3 col 0  = row 4 col 0
row 3 col 1  = row 4 col 1


它应该是动态的,因此当有更多行时,它将自动添加更多行。

最佳答案

尝试

$('tr.sumToUp input').change(function(){
    var $this = $(this), $row = $this.closest('tr'), $sum = $row.prevAll('.sumToMe').first(), $rows = $sum.nextUntil('.sumToMe', '.sumToUp'), index = $this.closest('td').index();

    var sum = 0;
    $rows.each(function(){
        var val = $(this).find('td').eq(index).find('input').val();
        sum += (+val);
    })
    $sum.find('td').eq(index).find('input').val(sum);
});


演示:Fiddle

关于javascript - 如何使用jQuery汇总表中的选定行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16541695/

10-11 11:15