Javascript 同步2个输入字段,可以使用jQuery完成吗?

Javascript 同步2个输入字段,可以使用jQuery完成吗?,javascript,jquery,Javascript,Jquery,当修改输入A时,jQuery能否将一个输入字段的文本同步或复制到另一个输入字段?例如: <input id="input_A" type="text" /> ...If I type something here <input id="input_B" type="text" /> ... It will be copied here …如果我在这里键入内容 ... 它将在这里复制 jQuery能做到这一点吗?试试这个: $("#input_A").bind("ke

当修改输入A时,jQuery能否将一个输入字段的文本同步或复制到另一个输入字段?例如:

<input id="input_A" type="text" /> ...If I type something here

<input id="input_B" type="text" /> ... It will be copied here
…如果我在这里键入内容
... 它将在这里复制
jQuery能做到这一点吗?

试试这个:

$("#input_A").bind("keyup paste", function() {
    $("#input_B").val($(this).val());
});
对于jQuery 1.7+使用上的

$("#input_A").on("keyup paste", function() {
    $("#input_B").val($(this).val());
});

-2017年8月更新-

,因此您可以使用它来代替组合
keyup
paste
事件:

$(“#input_A”)。在(“input”,function()上{
$(“#input_B”).val(此.value);
});

在写入、粘贴等过程中,将复制值。 在jQuery<1.7中,改为在
上使用
bind

$( "#input_A" ).on( "paste keyup", function() { 
     $( "#input_B" ).val( $( this ).val() );
});

是的,它可以。绑定keypress或keyup事件并复制值:

$('#input_A').keyup(function() {
    $('#input_B').val($(this).val());
});
或者,如果您只希望在用户完成编辑后复制该值,请使用具有相同处理程序的模糊事件。这还有一个额外的优点,即如果用户将文本粘贴到
input_A
,它也将被复制到
input_B

$('#input_A').blur(function() {
    $('#input_B').val($(this).val());
});

这里有一个and.

迟来的答案,但我更喜欢这种方式,因为它不需要多个元素ID:

$('input.sync').on('keyup paste', function() {
     $('input.sync').not(this).val($(this).val());
});

Garrett

不要忘记粘贴
事件,只是缺少了
$this)
的开头括号。一个小提示:如果您使用的是jQuery 1.7或更高版本,建议使用
on
函数而不是
bind
函数。如果您有12个要同步的输入,您会使用12个不同的ID吗?查看我的答案,了解更灵活的方法。
focus
是不必要的,并且
keydown
发生在值更改之前。Rory是正确的。用于同步两个字段的值的jQuery插件:我更喜欢这个答案,因为这种情况下的同步是双向的。比接受的值更好,这允许同步共享相同类名的多个输入。谢谢