4

我有这样的文本字段

$4.00
$5.00
$55.90

我想在 javascript 中添加它们,总共 64.90 美元

我有这个代码

 var total= "";
 $("input:checkbox:not(.select_all):checked").closest("tr").each(function() {
    total += $(this).find(".amount").text().trim();
   });

我的解决方案给了我这个

 $4.00$5.00$55.90

知道我做错了什么

4

1 回答 1

7

您正在连接字符串,您需要先将它们解析为数字。你必须脱掉它$才能做到这一点。您还希望将 total 初始化为0,而不是空字符串:

var total = 0;
$("input:checkbox:not(.select_all):checked").closest("tr").each(function() {
    total += parseFloat($(this).find(".amount").text().trim().replace(/^$/, ''));
});

// If you want total to be a string containing the `$` just convert it back:
total = '$' + total;
于 2012-05-10T03:12:43.287 回答