如何在我的项目输入值更改的同时更改我的总输入值

问题描述

我无法在我的项目输入值更改的同时更新我的​​ GrandTotal 值。仅当我将另一个项目添加到购物车时,grandTotal 才会更新。如何在不添加项目的情况下更新我的 grandTotal?我试过将我的 GrandTotal 变量放在数量变化事件块中,但每次数量变化时,总数只会增加而不是减少。我还尝试将事件侦听器切换为“更改”而不是“单击”,但仍然存在相同的问题。

    
     let grandTotal = 0;
  let addBtn;
  let subBtn;
  let cartElements;
  let parsed;
  for(let i = 0; i < cartElement.length; i++){
    cartElements = cartElement[i];
    quantities = qtyElement[i];
    prices = priceElement[i];
    addBtn = addBtns[i];
    subBtn = subBtns[i];
    parsed = parseFloat(prices.value);
    grandTotal += parsed;
  }
  cartElements.addEventListener('click',function(e) {
      let buttonClicked = e.target;
      if(buttonClicked.innerText === "+"){
        quantities.value++;
        prices.value = quantities.value * price;
      } if(buttonClicked.innerText === "-"){
        quantities.value--;
        prices.value = quantities.value * price;
      } 
    });
  grandTotalInput.value = grandTotal;
 }
<form class="cart-form">
  <h1>shopping cart</h1>
     
  
  </form>
<form id="totalContainer">
  
</form> 
<div class="grandTotal">
  <input name="grandTotalInput" id="grandTotalInput" type="number" disabled="">
</div>

解决方法

您需要更新此函数内的总计:

quantities.addEventListener('click',function(){
    let qty = parseFloat(quantities.value);
    prices.value = qty * price;
});