Javascript 同步2个输入字段,可以使用jQuery完成吗?
当修改输入A时,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
<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插件:我更喜欢这个答案,因为这种情况下的同步是双向的。比接受的值更好,这允许同步共享相同类名的多个输入。谢谢