J'ai utilisé la fonction suivante que j'ai trouvée en ligne et cela fonctionne parfaitement. Cependant, lorsque mon utilisateur a demandé plus tard des virgules à inclure dans les chiffres, il a éclaté. Il ajoute seulement les nombres précédant la virgule.jQuery: Comment additionner une colonne de nombres avec des virgules?
Voici la fonction:
function sumOfColumns(tableID, columnIndex, hasHeader) {
var tot = 0;
$("#" + tableID + " tr" + (hasHeader ? ":gt(0)" : ""))
.children("td:nth-child(" + columnIndex + ")")
.each(function() {
tot += parseInt($(this).html());
});
Ai-je besoin d'arrêter la pièce 'parseInt'?
parfait, merci. – Matt
@Matt être conscient de I18N et L10N cependant, comme d'habitude. Cette approche se casse si vous utilisez un séparateur de milliers différent ou utilisez une virgule comme point décimal (comme c'est la coutume dans de nombreuses localités) pour être vraiment du bon côté, vous voulez soit utiliser une approche locale ou mettre les données brutes dans un endroit sûr (par exemple un attribut 'data-' sur les cellules). –
Vous pouvez également essayer une expression régulière dans votre remplacement et supprimer les caractères non-chiffres ou les espaces pour les rendre un peu plus portables. – ajm