Javascript递增多个

时间:2016-05-27 02:09:49

标签: javascript html if-statement increment

var x1 = document.getElementById("x1");    
var x2 = document.getElementById("x2");

function ThisEvent(){// needs a lot of work done to it
  if (x1.value==1) {
    x2.value--;
  } else if (x1.value==2) {
    x2.value++;
  } else if (x1.value==3) {
    x2.value+=5;
  }
}
<input type="text" value="0" id="x1" onblur="ThisEvent()"> x1     </br>   
<input type="text" value="0" id="x2"> x2

现在正在发生的事情是,如果x1是输入3,则正在添加数字而不是递增。你如何使它增加超过一个,而不是将它作为一个数字添加?

2 个答案:

答案 0 :(得分:5)

if (x1.value == 3) {
    x2.value = parseInt(x2.value) + 5;
}

它将其解释为字符串。您可以在计算中parseInt x2.value

答案 1 :(得分:0)

输入的值是 String ,您需要将其转换为 Number 才能在其上添加。

你可以这样做:

function ThisEvent() { // needs a lot of work done to it
    var valX1 = Number(x1.value);
    var valX2 = Number(x2.value);
    if (valX1 == 1) {
        valX2--;
    } else {
        if (valX1 == 2) {
            valX2++;
        } else {
            if (valX1 == 3) {
                valX2 += 5;
            }
        }
    }
    x2.value = valX2;
}

jsFiddle:https://jsfiddle.net/v1utqv7f/