我如何获得双向单位/货币转换器?

How can I get a two-way unit / currency converter?

我正在尝试构建一个非常简单的双向货币转换器。

我目前有这个 HTML:

    <input id="amount" name="amount" type="text" value="0" />

    <input id="result" name="discount" type="text" value="0" />

和这个 javascript:

    $('input').on("click",function () {
    $("#result").val(parseInt($("#amount").val(), 10) *  520);
    });

我希望转换器能够双向工作,以便用户可以在任一字段中输入金额,like this

您要查找的是 $.change() 活动

因此您的代码将如下所示:

$("#amount").change(function() {
    //do your conversions here...
    } );

然后对另一个 #result 字段执行相同的操作

有触发器on keyup。这样,如果#amount-box 被触发,您将在#result 框中获得结果,反之亦然。

<input id="amount" name="amount" type="text" value="0" />
<input id="result" name="discount" type="text" value="0" />

并且:

$("#amount").keyup(function(){
    var calculated = $(this).val() * 2;
    $("#result").val(calculated);
});

$("#result").keyup(function(){
    var calculated = $(this).val() / 2;
    $("#amount").val(calculated);
});

您仍然可以有一个事件处理程序,但使用 change 事件并使用已更改输入的 ID 检查您应该更新哪个输入。

$('input').on("change",function () {
  if (this.id === 'result') {
    $("#amount").val(parseInt($("#result").val(), 10) /  520);
  } else if (this.id === 'amount') {
    $("#result").val(parseInt($("#amount").val(), 10) *  520);
  }
});