0

我正在尝试创建一个购物车,该购物车构建一个数组以发送到服务器。我无法弄清楚的部分是允许用户通过一个输入字段来更改数量,该输入字段更新了 basketItems 数组中的“数量”值。

我可能会解决这个问题,但希望你们中的一个天才可以帮助我。

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>';
      }
}

奖励:最终,我试图让这个脚本将这个数组连同总数一起发送给服务器,但首先要做的是!

4

1 回答 1

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;
       }
   }
}
于 2013-07-16T01:57:43.220 回答