我有一个表头<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