Javascript 通过加法编辑输入值

Javascript edit input value by addition

所以我有这个复选框:

<input type="checkbox" id="extra-bathroom" name="extra-bathroom" value= "1" style="display: inline;" onchange="updatePrice();">Extra bathroom?

调用我的函数没问题。我正在研究如何通过加法更新以下输入的值(我知道我只能更改值,但我想通过加法来完成)

<input id="total-price" type="button" value= 0 style="width: 100%; margin-top: 5px;">

当前 JS:

window.updatePrice = function () {

    if (document.getElementById('extra-bathroom').checked) {

        document.getElementById("total-price").value //ADD 42 to value of total-price ;

    }
};

我最好的方法是什么?干杯!

HTML:

<input type="checkbox" id="extra-bathroom" name="extra-bathroom" value= "1" style="display: inline;" onchange="updatePrice();">Extra bathroom?
<input id="total-price" type="button" value= 0 style="width: 100%; margin-top: 5px;">

Javascript:

window.updatePrice = function () {
    if (document.getElementById('extra-bathroom').checked) {
        document.getElementById('total-price').setAttribute("value", parseInt(document.getElementById("total-price").value) + 42);
    }
    else {
        document.getElementById('total-price').setAttribute("value", parseInt(document.getElementById("total-price").value) - 42);
    }
};

基本上,您只需获取值(您所做的事情)并将该 div 的属性 "value" 设置为当前值(解析为 int,否则它将连接 0 和 42 , 结果是 "042") + 42.

我还添加了未选中复选框的情况。如果不勾选,会去掉42到当前值。

工作fiddle:

http://jsfiddle.net/s95hvsp5/1/