我有一個表頭<th>
被默認設置爲0
:jQuery的不必要的總和結果
<th id="total_price" style="text-align:center">0</th>
現在,當我添加一個新的出售項目,價格應加入的這個<th>
值。所以,如果新的是20000,那麼值應該是20000+0=20000
而不是200000
。如果我添加另一個項目,價格爲30 000,現在就像20000030 000
。
這是jQuery腳本:
var initial = $("#total_price").text();
console.log(initial);
var newPrice = initial + (res['price']);
console.log(newPrice);
$("#total_price").text(newPrice);
我嘗試這樣做:
var initial = $("#total_price").text();
console.log(initial);
var newPrice = initial + +(res['price']);
console.log(newPrice);
$("#total_price").text(newPrice);
但仍然是相同的。
你必須使用'parseInt函數()'。 「+」運算符用於添加和串聯字符串。另外,當你閱讀DOM元素的文本時,它被讀爲字符串而不是數字 – Rajesh
你有一個正確的解決方案,但忘記把'+'放在'initial'後面,因爲那也是一個字符串。 '+ initial + +(res ['price']);' –
如果你想要小數,你應該改爲使用parseFloat。另外,如果你想要像「30 000」或「30,000」這樣的東西被識別爲30000,你必須先把它們除掉。做一些類似'res ['price']。replace(/ [,]/g,'')' – David784