我正在尝试创建一个构建数组以发送到服务器的购物车。我弄清楚的部分是允许用户通过更新basketItems数组中'quantity'值的输入字段来更改数量。
我可能会犯这个错误,但希望你们中的一个天才可以帮助我。
var basketItems = [
{ itemName:"Item 1", price:1.00, quantity:0 },
{ itemName:"Item 2", price:2.00, quantity:0 },
{ itemName:"Item 3", price:3.00, quantity:0 }
];
var basketItemsTotal = 0.00;
function CalcBasketTotal() {
for (i=0;i<basketItems.length;i++) {
if (basketItems[i].quantity > 0) {
basketItemsTotal = basketItems[i].price * basketItems[i].quantity;
}
}
}
function PopulateBasketItems() {
for (i=0;i<basketItems.length;i++) {
basketTable.innerHTML +=
'<tr><td>' + basketItems[i].itemName + '</td>' +
'<td>$' + basketItems[i].price + '</td>' +
'<td><input value="' + basketItems[i].quantity + '"></td>' +
'<td>$' + basketItems[i].price * basketItems[i].quantity + '</td></tr>';
}
}
BONUS:最后,我试图让这个脚本发送服务器这个数组连同总数,但首先是第一件事!
答案 0 :(得分:1)
你的问题在这里:
function CalcBasketTotal() {
for (i=0;i<basketItems.length;i++) {
if (basketItems[i].quantity > 0) {
basketItemsTotal = basketItems[i].price * basketItems[i].quantity;
}
}
}
修复:(替换= + =总计)
function CalcBasketTotal() {
for (i=0;i<basketItems.length;i++) {
if (basketItems[i].quantity > 0) {
basketItemsTotal += basketItems[i].price * basketItems[i].quantity;
}
}
}