jQuery如何更改两个输入文本字段的值

3

我想创建两个文本框,它们可以同时更改

<input type="text" class="text1">
<input type="text" class="text2">

它们是动态创建的,所以我的代码如下:

$("body").on("keyup", function() {
    $(".text2").val($('.text1').val());
});

它仅在更改text1时起作用。我该如何编写脚本,以便我也可以更改text2?

谢谢!

2个回答

6
你可以这样做:

var $ins = $('.text1, .text2').keyup(function() {
  $ins.not(this).val(this.value);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="text1">
<input type="text" class="text2">

我们在keyup事件发生的输入框之外更改另一个输入框的值为更新后的值。


使用事件委托

$(document).on('keyup', '.text1, .text2', function() {
  $('.text1, .text2').not(this).val(this.value);
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="text1">
<input type="text" class="text2">


2
+1,不过我鼓励在输入中保留.on,因为他在原始帖子中使用了它。 - Karl-André Gagnon
我该如何在.on中使用它? - sAs59

0

你可以试试这个

$("body").on("keyup", function() {
    var val1=$('.text1').attr('value');
    $(".text2").attr('value',val1);
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接