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

时间:2011-12-29 23:56:19

标签: jquery html-table keyup

我有一个带两个输入框的表。 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>

4 个答案:

答案 0 :(得分:2)

描述

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

示例

$("#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

更多信息

答案 1 :(得分:1)

你可以尝试这样的事情

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

其他输入

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

试试这个:

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

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

通过这种方式,它将拾取每个角色,并且还可以使用鼠标来复制和粘贴文本。