随着输入值的变化不断更新输出

时间:2021-07-02 18:14:28

标签: javascript html

现在我有一个代码设置,使用 switch 语句来获取输入数字并根据选择的选项进行数学运算,例如:如果选择了 BTC,那么它将进行某些数学运算来转换。

现在我遇到的问题是我希望它在我更改值时在我的 HTML 中更新,但我需要不断更改选项以重新加载以进行数学运算

有没有办法在我使用 switch 语句更改输入值时不断进行数学计算,或者我必须重写它?

我的代码:

function Calc(val) {

  sessionStorage.setItem('SelectedItem', val);

  switch (val) {
    case 'BTC':
      {
        out = input.value / 100000000 * 33549;
        output.innerHTML = "$" + " " + out;
        break;
      }
    case 'LTC':
      {
        out = input.value / 100000000 * 134;
        output.innerHTML = "$" + " " + out;
        break;
      }
  }
}
<form name="leftCurrency" method="POST">

  <select name="currenOPT" id="currenOPT" onchange="Calc(this.value);">
    <option name="Currency" value="USD">USD</option>
    <option name="Currency" value="BTC">BTC</option>
    <option name="Currency" value="LTC">LTC</option>
  </select>



  <input type="text" name="CurenInput" id="inpVal" onkeyup='saveValue(this);'>
  <input type="submit" name="submit" value="submit">
</form>

<h1 id="output" onchange="reload()"></h1>

这是一段代码现在正在做什么的视频:

https://imgur.com/a/clIpl4o

1 个答案:

答案 0 :(得分:0)

您也可以在 feature2 上使用 onchange。在 switch 的情况下,您不需要使用 input。默认情况下,input{} 将是一个字符串。这就是您可以使用 Number 将字符串转换为整数的地方。

.value
let select = document.getElementById('currenOPT');
let input = document.getElementById('inpVal');
let output = document.getElementById('output');

function Calc() {
  if (input.value.length === 0) {
    return;
  }

  let out = 0;
  switch (select.value) {
    case 'BTC':
      out = Number(input.value) / 100000000 * 33549;
      output.innerHTML = "$" + " " + out;
      break;
    case 'LTC':
      out = Number(input.value) / 100000000 * 134;
      output.innerHTML = "$" + " " + out;
      break;
  }
}