在textBox1中键入文本时更新textBox2文本

时间:2014-07-02 21:25:36

标签: javascript jquery

我有2个文本框(如货币转换器)

我想在我键入textbox1时更新textbox2,我应该使用哪个jquery函数?

CREDIT: <input type="text" id="credit"/>

USD: <input type="text" id="usd"/>

Jquery:

    $("#credit").change(function () {
           $("#usd").val((parseInt($("#credit").val(), 10) * 2));
    });

http://jsfiddle.net/9ysC3/

现在,usd val更新失去焦点。

在输入信用文本框时,我可以用什么功能更新USD val?

4 个答案:

答案 0 :(得分:5)

您不应该使用&#34;更改&#34;事件,而是&#34;输入&#34;事件,以确定内容是否已更改。

$("#credit").on('input', function () {
       $("#usd").val((parseInt($(this).val(), 10) * 2));
});

答案 1 :(得分:2)

input事件比change事件更具包容性/响应性:

$("#credit").on('input', function () {
    $( "#usd" ).val( +this.value * 2 );
});

WORKING JSFIDDLE DEMO

您也可以调整标记,以便进行一些验证:

CREDIT:
<input type="number" id="credit" />
<br/>USD:
<input type="number" id="usd" readonly="readonly" />

答案 2 :(得分:1)

使用此:http://jsfiddle.net/9ysC3/2/

$("#credit").keypress(function () {
$("#usd").val((parseInt($("#credit").val(), 10) * 2));
});

keyup上同样有效。

答案 3 :(得分:0)

如aa333的回答所述,但用keyup替换keypress以使更新更具响应性:

$("#credit").keypress(function () {
  $("#usd").val((parseInt($("#credit").val(), 10) * 2));
});
相关问题