使用 onclick JavaScript 函数添加值

Add value with onclick JavaScript function

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

因此对于此示例,当您单击按钮 3 次时,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。是的,我很菜鸟,一直没能找到可行的解决方案。

您在每次 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;
   }

只在一个函数中完成,然后将总收入乘以售出的商品:

  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;
}
function incrementValueRevenue() {
       var myJSON = '{ "price":35 }';
       var myObj = JSON.parse(myJSON);
       let revenue = document.getElementById('total-revenue');
       revenue.value = +revenue.value + myObj.price
   }

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