2014-05-06 247 views
1

我试图在jQuery中获取一些值的总和。我这样做计算值的总和

var sum = 0; 
$(".total").text(sum += parseInt($(".numbers").text(), 10)); 

但是是不是一个总和。我已经尝试过以下这些也不起作用?

var sum = 0; 
$(".total").parseInt(sum += parseInt($(".numbers").text(), 10)); 

我该如何简单计算总和?你需要http://jsfiddle.net/M7ghD/

回答

2

综上所述值迭代.numbers元素:

演示

var sum = 0; 
$('.numbers').each(function() { 
    sum += parseInt($.text(this), 10); 
}); 

$('.total').text(sum); 

DEMO:http://jsfiddle.net/M7ghD/5/

+0

感谢,正是我需要的

号(串)将返回NaN的。 – Yunowork

1

你必须采取的class=numbers每个值和概括。

尝试:

var sum = 0; 

$(".numbers").each(function() { 
    sum=sum+parseInt($(this).text(), 10) 
}) 

$(".total").text(sum); 

DEMO

+0

谢谢,与VisioN的解决方案一样。 – Yunowork

0

试试这个http://jsfiddle.net/M7ghD/1/

它似乎在做$(".numbers").text()会给你的所有span.numbers一个连接字符串,在同一时间(= '421293') 。您可以通过元素必须循环,总结起来:

var sum = 0; 
$('.numbers').each(function(){ 
    sum += parseInt($(this).text(),10); 
}); 
$(".total").text(sum); 
0

您可以使用如也

var sum = 0; 
    $('.numbers').each(function() { 
     sum += Number($.text(this)); 
    }); 

$(".total").text(sum); 

parseInt函数(字符串)将包含非数字字符的字符串转换为数字,只要字符串以数字字符开头。如果字符串包含任何非数字字符

DEMO