JQuery - добавить в скрытое поле ввода при нажатии клавиши? - PullRequest
0 голосов
/ 18 июня 2010

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

Итак,

<input type="hidden" name="name" value="" />
<input type="text" name="first" value="" />
<input type="text" name="second" value="" />

Если пользователь вводит First в первом поле ввода и Second во втором поле ввода, я хочу, чтобы поле ввода имени было «First Second» ...

Пробовал использовать keyup и keypress, но не может заставить его добавить к тому, что уже есть?

Ответы [ 4 ]

2 голосов
/ 18 июня 2010

Вы можете сделать что-то вроде:

var $hidden = $('input[name=name]'), 
    $first = $('input[name=first]'), 
    $second = $('input[name=second]');
// bind to keyup and change events on $first and $second
$first.add($second).bind('keyup change', function(e) {
   $hidden.val($.trim($first.val()+' '+$second.val()));
});

jsfiddle demo

1 голос
/ 18 июня 2010
$('input[name=first], input[name=second]').keyup(function() {
    var first = $('input[name=first]').val();
    var second = $('input[name=second]').val();
    $('input[name=name]').val(first + ' ' + second);
});
1 голос
/ 18 июня 2010

Для чего именно вы используете эту функцию?

Вероятно, проще просто извлечь данные из двух текстовых полей, когда они фактически используются.

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

Если это происходит при отправке формы, просто установите обратный вызов.

$("form#id").bind('submit',function() {
  name = $("input[name=first]").val() + $("input[name=second]).val()
});
0 голосов
/ 18 июня 2010

идентифицируйте их, и вы можете использовать это как перепрыгивание

$('#first, #second').keyup(function(){ $('#hidden').val( $('#first).val() + $('#second').val() ); });
...