通过输入字段更新javascript数组数据

时间:2013-07-16 01:48:36

标签: javascript arrays input shopping-cart

我正在尝试创建一个构建数组以发送到服务器的购物车。我弄清楚的部分是允许用户通过更新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:最后,我试图让这个脚本发送服务器这个数组连同总数,但首先是第一件事!

1 个答案:

答案 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;
       }
   }
}