JQuery, обрабатывающий интерактивный контент - PullRequest
0 голосов
/ 12 июля 2011

Я заметил, что в jquery добавленный текст не будет обрабатываться функциями jquery.Например, вы добавляете код, содержащий выпадающий список, и у вас есть функция, которая вызывает изменение его значения.Эта функция работает только с существующим кодом, а не с добавленным.


И правильный ответ:

Вместо использования:

$('#purchase-table select').change(function() {
});

Использование:

$('#purchase-table select').live('change', function() {
}); 

Вам нужно, чтобы он мог обрабатывать контент, добавленный в ajax, с помощью ваших функций jquery.Хорошего дня.

Спасибо всем, кто помог.

Ответы [ 2 ]

1 голос
/ 12 июля 2011

Вы можете использовать JQuery .live ()

Добавить новый контент:

$('body').append('<div class="clickme">Another target</div>');

Добавить обработчик к нему:

$('.clickme').live('click', function() {
  // Live handler called.
});

Затем щелчок по новому элементу также вызовет обработчик.

1 голос
/ 12 июля 2011

Самый простой способ обработки событий в интерактивном контенте - это метод jQuery.live.

http://api.jquery.com/live/

Описание: Присоединить обработчик к событию для всех элементов, которые соответствуют текущему селектору, сейчас и в будущем.

...