Установить значение ввода из текущего поля ввода при событии изменения - PullRequest
3 голосов
/ 30 декабря 2011

У меня есть таблица с двумя полями ввода.A и B. Я ввожу что-то на вход A (а также B) и хочу, чтобы это значение автоматически устанавливалось на то, что я ввожу в него при изменении события.Это легко сделать?

<tr>    
 <td><input type="text" id="A1" name="A" value=""></td>
 <td><input type="text" id="B1" name="B" value=""></td>
</tr>

Ответы [ 4 ]

2 голосов
/ 30 декабря 2011

Описание

Если вы хотите синхронизировать два элемента ввода при каждом нажатии клавиши, вам следует использовать методы 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 Демонстрация

Дополнительная информация

1 голос
/ 30 декабря 2011

Попробуйте это:

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

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

Таким образом, он подберет каждый символ, а также получит текст для копирования и вставки с помощью мыши.

1 голос
/ 30 декабря 2011

вы можете попробовать что-то вроде этого

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

то же самое для другого входа

$('#B1').change(function(){
  $('#A1').val($(this).val());
});
0 голосов
/ 30 декабря 2011

Изменение события для ввода [type = text] не работает так, как вы ожидаете.Он в основном проверяет измененное значение фокуса и затем запускает событие.

Я бы рекомендовал использовать событие keyup для копирования значения через.это будет так же просто, как:

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