【问题标题】:Add value with onclick JavaScript function使用 onclick JavaScript 函数添加价值
【发布时间】:2021-09-06 09:16:38
【问题描述】:

我有一个需要跟踪销售的小型系统。我有一个带有名为 incrementValue() 的 JS 函数的按钮,这个按钮执行 value++ 并且工作正常。但是我需要一个调用函数,它从 JSON 中获取价格字段,并通过单击同一个按钮 (incrementValueRevenue()) 添加该价格。该按钮在第一次单击时工作正常,但在此之后 incrementValueRevenue 函数停止。

所以对于这个例子,当你点击按钮三次时,incrementValue() 将显示 3,incrementValueRevenue() 应该显示 105。

这就是我所拥有的:

function incrementValue() {
       var value = document.getElementById('items-sold').value;
       value++;
       document.getElementById('items-sold').value = value;
   }
function incrementValueRevenue() {
       var myJSON = '{ "price":"35" }';
       var myObj = JSON.parse(myJSON);
       document.getElementById('total-revenue').value = myObj.price;
       myObj.price += myObj.price;
   }

这是我的 HTML

<form>
<input type="button" onclick="incrementValue(); incrementValueRevenue();" value="+" />
</form>

提前致谢。

PS。是的,我很菜鸟,我一直无法在任何地方找到可行的解决方案。

【问题讨论】:

    标签: javascript onclick add


    【解决方案1】:

    只使用一个函数,然后将总收入乘以售出的物品:

      function incrementValueAndRevenue() {
      var value = document.getElementById("items-sold").value;
      value++;
      document.getElementById("items-sold").value = value;
    
      var myJSON = { price: 35 };
      var revenue = myJSON.price * value;
      document.getElementById("total-revenue").value = revenue;
    }
    

    【讨论】:

      【解决方案2】:

      您在每次 incrementValueRevenue 调用时启动 myObj,因此该值始终被重置。

      你可以在函数作用域之外声明变量,这样它就被初始化一次,并有另一个值解析 JSON!

      var myObj = {};
      myObj.price = 0;
      function incrementValueRevenue() {
             var myJSON = '{ "price":"35" }';
             var myObjPrice = JSON.parse(myJSON);
             document.getElementById('total-revenue').value = myObj.price;
             myObj.price += myObjPrice.price;
         }
      

      【讨论】:

        【解决方案3】:
        function incrementValueRevenue() {
               var myJSON = '{ "price":35 }';
               var myObj = JSON.parse(myJSON);
               let revenue = document.getElementById('total-revenue');
               revenue.value = +revenue.value + myObj.price
           }
        

        首先你的价格应该是一个数字,然后我们获取总收入输入并将其存储在变量中,为了将数字添加到输入值,我们需要先将该输入值转换为数字(如果你不这样做使用“+”运算符输出将是“35353535...”)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多