下午 我通过AJAX调用检索了一个数组。它会带来以下结果,有时会有多个项目
itemQty: 1
productBrand: "Brand"
productPrice: "6.25"
productShipping: "0.35"
productSku: "sku"
productTitle: "ProdTitle"
OrderId: 123
下面是我的jQuery代码,用于对项目进行排序和添加,以制作小计,发货,然后是总计。
var ordRes = result;
var subTotal = (ordRes.productPrice * parseInt(ordRes.itemQty)).toFixed(2);
var orderTotal = (parseFloat(ordRes.productShipping) + parseFloat(subTotal)).toFixed(2);
$('#ordSubTotal').text("£" + subTotal);
$('#ordShipping').text("£" + ordRes.productShipping);
$('#ordTotal').text("£" + orderTotal);
然而,当我带回多个项目时,我无法将它们一起添加到subTotal和orderTotal中。有人可以帮我解释一下吗?
*返回JSON *
{
"d": [
{
"__type": "ABO.GetOrdersDetails",
"tweOrderId": 123,
"productSku": "sku",
"productTitle": "ProdTitle",
"productBrand": "Brand",
"itemQty": 1,
"productPrice": "6.25",
"productShipping": "0.35"
},
{
"__type": "ABO.GetOrdersDetails",
"tweOrderId": 123,
"productSku": "sku",
"productTitle": "ProdTitle",
"productBrand": "Brand",
"itemQty": 2,
"productPrice": "82.58",
"productShipping": "4.60"
}
]
}
答案 0 :(得分:0)
if (result.constructor != Array) {
result = [result];
}
var subTotal = 0, orderTotal = 0;
for (var i = result.length - 1; i >= 0; i--) {
var tmp = parseFloat(result[i].productPrice) * result[i].itemQty;
orderTotal += (parseFloat(result[i].productShipping) + tmp);
subTotal += tmp;
}
$('#ordSubTotal').text("£" + subTotal.toFixed(2));
$('#ordTotal').text("£" + orderTotal.toFixed(2));
也许对你有帮助。