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