2010-06-10 17 views

Répondre

2

Vous pouvez appeler .each:

var sum = 0; 

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

Vous avez travaillé avec quelques ajustements - merci! – Ricky

1

Je vais vous donner quelques pseudo-code de la façon dont je le ferais (principalement parce que je ne peux pas être bourré d'écrire tout ça).

  1. Créez un objet/tableau/variables pour stocker les totaux.
  2. jQuery sélectionnez la table
  3. Utilisez .each() pour parcourir chaque tr.
  4. En boucle chaque td et d'ajouter la valeur au total concerné.
  5. Une fois que tous les tr ont été bouclées, faites tout ce que vous voulez :)

l'espoir que cela vous aide :)

EDIT: Je rédigeais le code comme si vous vouliez totaliser chaque colonne, plutôt que toutes les cellules dans un seul total.

1

Il a déjà été répondu. Donc, tout comme un exercice amusant:

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