是否可以根据我选择的内容让我的按钮运行三个单独的功能?

时间:2017-12-17 23:08:32

标签: javascript

我试图为不同单位制作一个单位转换器,例如KG> LBS,Celsius到Fahrenheit。

document.getElementById('button').addEventListener('click', convert, false);

我需要根据我在html中的选择转换为更改这可能吗?

<form>
   <fieldset>
      <label for="fValue">
      Enter first value
      </label>
      <input type="number" id="fValue" />
   </fieldset>
   <fieldset>
<form action="">
<input type="radio" name="conv" id="but1" onclick="but1();"> Temp
<br>
<input type="radio" name="conv" id="but2" onclick="but2();"> Distance
<br>
<input type="radio" name="conv" id="but3"> Weight
</form>
<button type="button" id="button">Convert to</button>
</fieldset>
<fieldset>
   <p>Results</p>
   <p id="cValue">&nbsp;</p>
</fieldset>
</form>

2 个答案:

答案 0 :(得分:0)

是。只需为按钮的事件监听器分配一个函数,该函数检查HTML中选择的内容,然后调用另一个将进行所需数学运算的函数。

function checkSelection() {
  // Where selection* is whatever you want to check for.
  if(selection1){
     do_math_1();
  }
  else if(selection2 and selection3) {
    do_math_2();
  }
  else {
    do_math_3();
  }
}

funcion do_math_1(){
  // Whatever you want to do.
}

funcion do_math_2(){
  // Whatever you want to do.
}

funcion do_math_3(){
  // Whatever you want to do.
}

document.getElementById(&#39; button&#39;)。addEventListener(&#39; click&#39;,checkSelection);

答案 1 :(得分:0)

你不能轻易地在这一行JavaScript中直接拥有它,但如果你创建了一个包含三个不同函数的函数(例如function convertSelect() {})并调用它,那么你可以在其中查看选择了什么,并调用正确的函数。

如果你愿意的话,你可以创建一个像document.getElementById('button').addEventListener('click', function() {...}, false);这样的匿名函数,但为了清晰起见,将它作为自己的函数可能是明智的。