2012-08-07 61 views
2

下午, 我有一個通過AJAX調用retreived的數組。它帶回了以下結果,有時有多個項目從數組中添加結果一起得到總數

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); 

然而,當我帶回多個項目,我不能給他們在小計,和的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

什麼似乎是這個問題? – 2012-08-07 15:46:31

+1

你可以顯示從服務調用中返回的JSON嗎? – Bill 2012-08-07 15:48:35

+0

您是如何嘗試着爲多種產品添加價格的? – jackwanders 2012-08-07 15:48:56

回答

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)); 

也許它可以幫助你。

+0

我正在期待「;」在+ =位 – thatuxguy 2012-08-07 16:13:43

+0

我已經解決了這個問題。 – darthwade 2012-08-07 16:25:07

+0

工作了一種享受,謝謝:) – thatuxguy 2012-08-07 16:29:11