代码之家  ›  专栏  ›  技术社区  ›  Ricky

如何使用jquery将表中的值一起添加?

  •  3
  • Ricky  · 技术社区  · 14 年前

    我有一个带数值的HTML表。我需要做的是获取所有这些值,并使用jquery将它们添加到一起。

    有什么想法吗?


    实例表:

    http://pastie.org/998759

    3 回复  |  直到 7 年前
        1
  •  2
  •   SLaks    14 年前

    你可以打电话 .each :

    var sum = 0;
    
    $('table td').each(function() {
        sum += parseFloat($(this).text());
    });
    
        2
  •  1
  •   Alastair Pitts    14 年前

    我会给你一些伪代码,告诉你我该怎么做(主要是因为我写不完整件事)。

    1. 创建一个对象/数组/变量来存储总计。
    2. jquery选择表
    3. 使用 .each() 循环通过每个 tr .
    4. 循环每个 td 并将该值添加到相关总数中。
    5. 曾经的一切 TR 已经被循环通过,你想怎么做就怎么做:)

    希望这能帮助你:)

    编辑:我编写代码的时候,就好像你想把每一列合计起来,而不是把所有单元格都合计成一个合计。

        3
  •  1
  •   Ken Redler    14 年前

    已经回答了。所以就像一个有趣的练习:

    // Give all arrays the power of summation    
    Array.prototype.sum = function(){
        for( var i=0,sum=0;i<this.length;sum+=this[i++] );
        return sum;
    }
    
    // Use map for kicks
    $(document).ready( function(){
        var result = $('table#mytable tr td').map( function(){
            return parseFloat( $(this).text() );
        }).get().sum();
    });