在更改事件上设置当前输入文本字段的输入值

问题描述 投票:3回答:4

我有一个带两个输入框的桌子。 A和B.我在输入A(以及B)中输入内容,我希望它的值自动设置为我在change事件中输入的内容。这很容易吗?

<tr>    
 <td><input type="text" id="A1" name="A" value=""></td>
 <td><input type="text" id="B1" name="B" value=""></td>
</tr>
jquery html-table keyup
4个回答
2
投票

Description

如果你想在每次击键时保持两个输入元素同步,你应该使用jQuery的.keyup().change()(用于复制和粘贴)方法。

Sample

$("#A1").change(function() {
    $("#B1").val($("#A1").val());
});

$("#B1").change(function() {
    $("#A1").val($("#B1").val());
});

$("#A1").keyup(function() {
    $("#B1").val($("#A1").val());
});

$("#B1").keyup(function() {
    $("#A1").val($("#B1").val());
});

jsFiddle Demonstration

More Information


1
投票

你可以尝试这样的事情

$('#A1').change(function(){
  $('#B1').val($(this).val());
});

对于其他输入也是如此

$('#B1').change(function(){
  $('#A1').val($(this).val());
});

0
投票

输入[type = text]的更改事件不能像您期望的那样工作。它基本上检查焦点的更改值,然后触发事件。

我建议使用keyup事件来复制值。它将如此简单:

$('#A1').keyup(function(){
   $('#B1').val($('#A1').val());
});

0
投票

试试这个:

$("#B1").bind("change keyup", function(){
    $("#B2").val($(this).val());
});

$("#B2").bind("change keyup", function(){
    $("#B1").val($(this).val());
});

这样它就可以拾取每个角色,也可以使用鼠标复制和粘贴文本。