2013-03-23 2 views
0

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

Я использовал .live('change',function() { } });, но это не работает. Какое событие я должен использовать для запуска.

ответ

2

Используйте keyup вместо change, изменение будет срабатывать, когда фокус выходит из текстового поля. live не рекомендуется использовать вместо этого on.

.live('keyup',function() { } }); 

Событие изменения посылается к элементу, когда его значение изменяется. Это событие ограничено элементами, ящиками и элементами. Для флажков выбора, флажков и переключателей событие запускается сразу же, когда пользователь делает выбор с помощью мыши, , но для других типов элементов событие откладывается до тех пор, пока элемент не теряет фокус. Reference

Использование для привязки динамически добавленного текстового поля.

$(document).on("keyup", ".textAreaClass", function(){ 
    alert(""); 
}); 

document в селекторе может быть repalced селектором parent элемента

+0

: Но как я могу обновить текст скрытого поля. – ram

+0

$ ('# hiddenFieldId'). Val ($ ('# textAreaId'). Val()); – Adil

+0

Как удалить текстовое поле без удаления содержимого внутри него? – ram

0

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

А также использовать .on(), потому что .live() устарел от новой версии jQuery.

.on('keyup',function() { } }); 
0

попробовать это ..

<textarea rows="3" cols="50" name="" id="qcnotes" class="input-xlarge focused" style="width:100%" placeholder="Enter Notes" onkeyup="functionname(this.value)"></textarea> 
Смежные вопросы