上午, 我在使用jQuery添加一些总计时遇到了问题。
我将以下内容传递给...
但是我得到了以下结果......
subTotal = 600
productShipping = 4.05
orderTotal = 4.05600
$.each(result, function (index, res) {
var price = 600.00; //res.productPrice;
var subTotal = res.itemQty * price;
var orderTotal = res.productShipping + subTotal;
new_record = "<tr>" +
"<td class=\"totals\">Sub Total</td>" +
"<td>£" + subTotal + "</td>" +
"</tr>" +
"<tr>" +
"<td class=\"totals\">Shipping</td>" +
"<td>£" + res.productShipping + "</td>" +
"</tr>" +
"<tr>" +
"<td class=\"totals\">Order Total</td>" +
"<td>£" + orderTotal + "</td>" +
"</tr>";
$('#orderTotals').append(new_record);
我觉得我的jQuery可能会出现一些问题,但是我可以解决这些问题。有人可以告诉我哪里出错了。
res是我在webservice调用中使用的响应。
非常感谢。
答案 0 :(得分:5)
+
将连接字符串以及将数字相加。当你得到连接时,我们可以假设res.productShipping
是一个字符串。
因此在加起来之前将其解析为浮点数:
var orderTotal = parseFloat(res.productShipping) + subTotal;
答案 1 :(得分:1)
当您使用res.productShipping
创建parseInt()
时,您是否尝试在parsedouble()
或ordertotal
(或类似)中包裹{{1}}?
听起来我觉得它正在尝试将它们作为字符串添加在一起 - 因此将它们连接在一起 - 而不是将数字加在一起。
答案 2 :(得分:1)
试试这个:
var orderTotal = parseFloat(res.productShipping) + parseFloat(subTotal);
答案 3 :(得分:0)
您应该使用parseInt将价格转换为数字,然后执行计算。