JQuery: Зеркально отразите один ввод текста в другого

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

Как я иду об этом?

Спасибо! Гудзон

18
задан atwellpub 4 June 2010 в 20:08
поделиться

2 ответа

Коротко и просто:

$('#idfield1').keypress(function() {
    $('#idfield2').val($(this).val());
});

или связать его на несколько событий, чтобы обновить его также в случае потери фокуса:

$('#idfield1').bind('keypress keyup blur', function() {
    $('#idfield2').val($(this).val());
});

Ссылка: .keypress () , .val () , .blur () , .bind ()

Обновление:

Из-за, для меня, загадочных причин, когда сначала вводится символ, в другом поле ввода он не устанавливается. Есть ли у кого-нибудь идеи? ;)

Это работает, хотя при использовании keyup ( keydown также дает такой же странный результат).

35
ответ дан 30 November 2019 в 06:17
поделиться

В качестве альтернативы:

$('#idfield1').bind('keyup keypress blur', function() 
{  
      $('#idfield2')[0].value = $(this)[0].value; 
});

или

$('#idfield1').bind('keyup keypress blur', function() 
{  
    $('#idfield2').val($(this).val()); 
});

Для более поздней версии jQuery вы также можете использовать .on

$('#idfield1').on('keyup keypress blur', function() 
{  
      $('#idfield2').val($(this).val());  
});
6
ответ дан 30 November 2019 в 06:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: