Javascript 计算更改输入的新值

Javascript 计算更改输入的新值,javascript,jquery,Javascript,Jquery,我有两个输入,我想每周到两周计算一次,反之亦然。所以,我希望计算新的值。但是我没有得到正确的值(change weekly需要双周值乘以2,change weekly需要周值除以2,它只触发一次(每次更改后需要更新) HTML: 下面是一些代码: 这应该是一件简单的事情,但我没有看到。我做错了什么?您必须知道,如果您将值分配给侦听器内函数外部的变量,则在脚本加载时,该变量的值将仅设置一次,并将保持该状态 您必须在每个侦听器中移动逻辑,因此如果发生更改或粘贴事件,变量将加载一个新的实际值 $(“

我有两个输入,我想每周到两周计算一次,反之亦然。所以,我希望计算新的值。但是我没有得到正确的值(change weekly需要双周值乘以2,change weekly需要周值除以2,它只触发一次(每次更改后需要更新)

HTML:

下面是一些代码:


这应该是一件简单的事情,但我没有看到。我做错了什么?

您必须知道,如果您将值分配给侦听器内函数外部的变量,则在脚本加载时,该变量的值将仅设置一次,并将保持该状态

您必须在每个侦听器中移动逻辑,因此如果发生
更改
粘贴
事件,变量将加载一个新的实际值

$(“input.weekly”)。在(“更改粘贴”,函数()上{
w2f=parseFloat($(“input.weekly”).val(),10)*2;
f2w=parseFloat($(“input.fortlayly”).val(),10)/2;
$(this.parent().parent().find('input.fortlayly').val(w2f);
});
$(“input.fortlayly”).on(“更改粘贴”,函数(){
w2f=parseFloat($(“input.weekly”).val(),10)*2;
f2w=parseFloat($(“input.fortlayly”).val(),10)/2;
$(this.parent().parent().find('input.weekly').val(f2w);
});

周报



半月刊

啊,我明白了!当然是个愚蠢的错误。谢谢你,这太棒了。@WimMertens不,这不是个愚蠢的错误。不是那么明显。不管怎样,每个人都会遇到这种情况;祝你的项目好运!
<div class="frequencies">
<div>
   Weekly<br />
  <input class="weekly" type="text" value="1000" />
</div>

  <br /><br />
  <div>
    Fortnightly<br />
    <input class="fortnightly" type="text" value="2000" />
  </div>

</div>
var weekly = $("input.weekly").val(),
    fortnightly = $("input.fortnightly").val();

w2f = parseFloat(weekly, 10) * 2;
f2w = parseFloat(fortnightly, 10) / 2;

$("input.weekly").on("change paste", function() {
  $(this).closest('.frequencies').find('input.fortnightly').val(w2f);
});

$("input.fortnightly").on("change paste", function () {
  $(this).closest('.frequencies').find('input.weekly').val(f2w);
});