我尝试检索基于特定类的td中所有值的总和。代码没有抛出任何错误,但我的sum结果一直是"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
<table border="1">
<tr>
<th>Item</th>
<th>Price</th>
</tr>
<tr>
<td>Banana</td>
<td class ="price">50</td>
</tr>
<tr>
<td>Apple</td>
<td class ="price">100</td>
</tr>
</table>
<div id="result"></div>
发布于 2012-02-15 20:37:00
您希望使用text()
而不是this.value
(因为<td>
没有“值”):
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);
https://stackoverflow.com/questions/9293492
复制相似问题