微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 根据类求和表列的所有值

我试图根据特定的类检索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

<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>

解决方法

您希望使用 text()而不是this.value(因为< td> s没有“值”):
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://www.jb51.cc/jquery/181673.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐