Возможно, мне не хватает некоторого контекста, но я не думаю, что вы можете использовать такие селекторы атрибутов. Чтобы попасть в поле имени, вы бы сказали: input[name='firstname']
.
Вы также делаете одно и то же дважды, что всегда является хорошим поводом для того, чтобы задуматься. Например, вы можете сделать оба keyup
с за один выстрел:
$("input[name='firstname'], input[name='lastname']").keyup(...);
Вы можете сделать вещи намного проще, используя идентификаторы. Например, возьмите этот HTML:
<input type="text" name="firstname" id="firstname" value="John John" />
<input type="text" name="lastname" id="lastname" value="Doe" />
<input type="hidden" name="name" id="sanitized_name" value="john-john-doe" />
Вы бы использовали следующий фрагмент кода:
$('#firstname, #lastname').keyup(function() {
var fullname = $('#firstname').val() + ' ' + $('#lastname').val();
$('#sanitized_name').val(fullname.replace(/\s/g, '-').toLowerCase());
});