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

通过输入字段更新javascript数组数据,javascript,arrays,input,shopping-cart,Javascript,Arrays,Input,Shopping Cart,我正在尝试创建一个购物车,该购物车构建一个数组以发送到服务器。我很难理解的是,允许用户通过一个输入字段更改数量,该字段更新basketItems数组中的“数量”值 我可能做错了,但希望你们中的一个天才能帮我 var basketItems = [ { itemName:"Item 1", price:1.00, quantity:0 }, { itemName:"Item 2", price:2.00, quantity:0 }, { itemName:"Item 3",

我正在尝试创建一个购物车,该购物车构建一个数组以发送到服务器。我很难理解的是,允许用户通过一个输入字段更改数量,该字段更新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>';
      }
}
var basketItems=[
{项目名称:“项目1”,价格:1.00,数量:0},
{项目名称:“项目2”,价格:2.00,数量:0},
{项目名称:“项目3”,价格:3.00,数量:0}
];
var basketItemsTotal=0.00;
函数CalcBasketTotal(){
对于(i=0;i=0){
basketItemsTotal=basketItems[i]。价格*basketItems[i]。数量;
}
}
}
函数PopulateBasketItems(){

对于(i=0;i你的问题在这里:

function CalcBasketTotal() {
   for (i=0;i<basketItems.length;i++) {
       if (basketItems[i].quantity > 0) {
           basketItemsTotal = basketItems[i].price * basketItems[i].quantity;
       }
   }
 }
函数CalcBasketTotal(){
对于(i=0;i=0){
basketItemsTotal=basketItems[i]。价格*basketItems[i]。数量;
}
}
}
修正:(替换为+=总计)

函数CalcBasketTotal(){
对于(i=0;i=0){
basketItemsTotal+=basketItems[i]。价格*basketItems[i]。数量;
}
}
}

谢谢。我应该如何调用CalcBasketTotal函数?Onchange属性?EventListener?我已经研究了这些选项,但没有找到答案。您可以在更改数组时调用。如果您想添加Onchange属性,这只适用于表单输入元素。
function CalcBasketTotal() {
   for (i=0;i<basketItems.length;i++) {
       if (basketItems[i].quantity > 0) {
           basketItemsTotal += basketItems[i].price * basketItems[i].quantity;
       }
   }
}