通过输入字段更新javascript数组数据
我正在尝试创建一个购物车,该购物车构建一个数组以发送到服务器。我很难理解的是,允许用户通过一个输入字段更改数量,该字段更新basketItems数组中的“数量”值 我可能做错了,但希望你们中的一个天才能帮我通过输入字段更新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",
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;
}
}
}