2014-05-06 194 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