I have an HTML table with number values. What I n开发者_开发问答eed to do is to get all these values and add them together using jQuery.
Any ideas?
Example table:
http://pastie.org/998759
You can call .each
:
var sum = 0;
$('table td').each(function() {
sum += parseFloat($(this).text());
});
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).
- Create an object/array/variables to store the totals.
- jQuery select the table
- Use
.each()
to loop through eachtr
. - Loop each
td
and add the value to the relevant total. - 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.
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();
});
精彩评论