根据类对表列的所有值求和

我正在尝试根据特定的类检索td中所有值的总和。 代码不会抛出任何错误,但我的总和会导致“0”。

是否必须以特定方式指定数值? 我在这里看到了一些其他的答案,从那里模仿代码,我没有看到我和他们之间有任何真正的区别,所以我很困惑为什么我的工作不起作用。

以下是我参考的教程: http : //viralpatel.net/blogs/2009/07/sum-html-textbox-values-using-jquery-javascript.html

这是我的javascript

$(document).ready(function(){ $('.price').each(function() { calculateSum(); }); }); function calculateSum() { var sum = 0; //iterate through each td based on class and add the values $(".price").each(function() { //add only if the value is number if(!isNaN(this.value) && this.value.length!=0) { sum += parseFloat(this.value); } }); $('#result').text(sum); }; 

这是我的HTML

 
Item Price
Banana 50
Apple 100

你想使用text()而不是this.value (因为

s没有“value”):

 var sum = 0; // iterate through each td based on class and add the values $(".price").each(function() { var value = $(this).text(); // add only if the value is number if(!isNaN(value) && value.length != 0) { sum += parseFloat(value); } }); 

此外,您循环遍历.price元素(调用calculateSum )多次。 你可以替换

 $(document).ready(function(){ $('.price').each(function() { calculateSum(); }); }); 

 $(calculateSum); 

我有一个JQuery插件, Sumtr ,如果你想要一个摘要行,它可以很好地处理这个问题。

以下是插件的示例 。