How to Add values in a table together using jQuery

2019-04-11 19:39发布

问题:

I have an HTML table with number values. What I need to do is to get all these values and add them together using jQuery.

Any ideas?


Example table:

http://pastie.org/998759

回答1:

You can call .each:

var sum = 0;

$('table td').each(function() {
    sum += parseFloat($(this).text());
});


回答2:

I'm going to give you some pseudo-code of how I would do it (mainly because I can't be stuffed writing the whole thing).

  1. Create an object/array/variables to store the totals.
  2. jQuery select the table
  3. Use .each() to loop through each tr.
  4. Loop each td and add the value to the relevant total.
  5. Once all of the tr have been looped through, do whatever you want :)

Hope this helps you out :)

EDIT: I was writing the code as if you wanted to total each column, rather than all cells into a single total.



回答3:

It's already been answered. So just as a fun exercise:

// 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();
});