addEventListener(“ change” ...用于输入,可更改innerHTML的值,但不会降低

时间:2019-09-16 02:23:04

标签: javascript html

我有一个div块,其值在更改输入值时要调整。当输入值增加时,它工作正常,但回落时,它不变。也许我在逻辑上忽略了一些愚蠢的事情。

var quanityAmount = document.getElementById("quantity");
var letterDisplay = document.getElementById("display");
quanityAmount.addEventListener("change", function() {
  var quanityValue = quanityAmount.value;
  if (quanityValue === 1) {
    letterDisplay.innerHTML = "a";
  } else if (quanityValue >= 2) {
    letterDisplay.innerHTML = "b";
  }
});
<input type="number" id="quantity" name="quantity" value="1" min="1" >

<div id="display">a</div>

我有一个console.log(quanityvalue),并且该值确实发生了变化并检测到诸如1、2并返回到1。

1 个答案:

答案 0 :(得分:1)

输入的值是一个字符串,所以"1" !== 1。需要将其转换为数字。

var quanityAmount = document.getElementById("quantity");
var letterDisplay = document.getElementById("display");
quanityAmount.addEventListener("change", function() {
  var quanityValue = +quanityAmount.value;
  if (quanityValue === 1) {
    letterDisplay.innerHTML = "a";
  } else if (quanityValue >= 2) {
    letterDisplay.innerHTML = "b";
  }
});
<input type="number" id="quantity" name="quantity" value="1" min="1" >

<div id="display">a</div>