0

在这个小提琴中,第 3 列似乎没有正确添加,因为最后一个值的值中有一个逗号(,)。不直接删除逗号(,)怎么可能是正确的?我知道添加.replace(/,/g,'')会有所帮助,但我不知道应该把它放在哪里。

这是代码:

$('.add').click(function (e) {
    $('#paytable tr:first td').each(function () {
        var $td = $(this);

        var colTotal = 0;
        $('#paytable tr:not(:first,.totalColumn)').each(function () {
            colTotal += parseInt($(this).children().eq($td.index()).html(), 10);
        });

        $('#paytable tr.totalColumn').children().eq($td.index()).html('Total: ' + colTotal);
    });
});
4

2 回答 2

0

尝试

$('.add').click(function (e) {
    $('#paytable tr:first td').each(function (idx) {
        var $td = $(this);

        var colTotal = 0;
        $('#paytable td.rowDataSd:nth-child(' + (idx + 1) + ')').each(function () {
            colTotal += parseInt($(this).html().replace(/,/g, ''), 10);
        });

        $('#paytable tr.totalColumn').children().eq(idx).html('Total: ' + colTotal);
    });
});

演示:小提琴

于 2013-11-09T03:05:23.190 回答
0

看看这个:http: //jsfiddle.net/unKDk/306/

这是代码:

 $('.add').click(function(e) {
 $('#paytable tr:first td').each(function(){
 var $td = $(this);

  var colTotal = 0;
  $('#paytable tr:not(:first,.totalColumn)').each(function(){
    colTotal  += parseInt($(this).children().eq($td.index()).html().replace(/,/g, ""),10);
    });

    $('#paytable tr.totalColumn').children().eq($td.index()).html('Total: ' + colTotal);
  });
});
于 2013-11-09T03:05:53.753 回答