Javascript 选择新选项时动态刷新

Javascript 选择新选项时动态刷新,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试使用JavaScript进行长度转换。我不能解决的问题是这个。当用户加载页面时,没有问题,JavaScript正在工作。但当他选择另一个选项时,即厘米仍在计算米 以下是要测试的地址: 您的问题是,执行转换的逻辑仅在页面加载时执行。要使其在值更改时工作,您需要挂接这些事件并在那里运行计算 您还可以通过检索执行计算的函数中所需的所有值来简化逻辑。最后,您应该删除*事件属性上过时的。改用不引人注目的事件处理程序。试试这个: $(“#从,#到”).on('change',calculate)

我正在尝试使用JavaScript进行长度转换。我不能解决的问题是这个。当用户加载页面时,没有问题,JavaScript正在工作。但当他选择另一个选项时,即
厘米
仍在计算

以下是要测试的地址:


您的问题是,执行转换的逻辑仅在页面加载时执行。要使其在值更改时工作,您需要挂接这些事件并在那里运行计算

您还可以通过检索执行计算的函数中所需的所有值来简化逻辑。最后,您应该删除*事件属性上过时的
。改用不引人注目的事件处理程序。试试这个:

$(“#从,#到”).on('change',calculate);
$('#input')。在('input',calculate')上;
计算();
函数计算(){
var除数=$('#from')。val()='米'?1000:100000;
$('结果').text($('输入').val()/除数);
}

长度

发件人:
米
厘米
致:
公里

结果:


您的问题是,进行转换的逻辑仅在页面加载时执行。要使其在值更改时工作,您需要挂接这些事件并在那里运行计算

您还可以通过检索执行计算的函数中所需的所有值来简化逻辑。最后,您应该删除*
事件属性上过时的
。改用不引人注目的事件处理程序。试试这个:

$(“#从,#到”).on('change',calculate);
$('#input')。在('input',calculate')上;
计算();
函数计算(){
var除数=$('#from')。val()='米'?1000:100000;
$('结果').text($('输入').val()/除数);
}

长度

发件人:
米
厘米
致:
公里

结果:


为什么不使用jQuery选择器?您的
函数LengthConverter
没有执行或执行任何操作。您的设计没有那么好。您只能有一个
LengthConverter
函数,参数为
from
to
。然后,在更改下拉调用时,该函数将新的
值从
设置为
值。因此,您为什么不使用jQuery选择器?您的
函数LengthConverter
没有执行或执行任何操作。您的设计没有那么好。您只能有一个
LengthConverter
函数,参数为
from
to
。然后在更改下拉菜单时,调用该函数,将新的
值从
转换为
<h2>Lenght</h2>
<p>
  <input id="input" type="number" placeholder="" oninput="LengthConverter(this.value)" onchange="LengthConverter(this.value)"> 

  From:
  <select id="from" name="from">
    <option id="from_meter" value="meter">meter</option>
    <option id="from_centimeter" value="centimeter">centimeter</option>
  </select> 

  To:
  <select id="to" name="to">
    <option id="to_kilometer" value="kilometer">kilometer</option>
  </select>
</p>
<p>Result: <span id="result"></span></p>