#javascript #jquery #ajax
#javascript #jquery #ajax
Вопрос:
очень часто мне нужно запустить некоторый javascript для содержимого HTML, возвращаемого из вызова ajax. Похоже, что простое удаление его в div не работает. Каков наилучший способ сделать это? Допустим, я возвращаю следующий HTML-код:
<div><input type="text" id="someID" /></div>
<script language="javascript">
$('#someID').somefunction();
</script>
Комментарии:
1. вызовите эту функцию в сегменте ajax
success:
Ответ №1:
Вы должны использовать обработчики событий успеха. Например, если бы вы использовали load()
, вы бы сделали что-то вроде:
$('#foo').load('/my/ajax/stuff', function() {
$('#someID').somefunction();
});
Для настройки элементов формы я обычно создаю функцию настройки и вызываю ее при ready и ajax complete
function setup_form() {
$('.date-picker').datepicker();
}
$(setup_form);
$.ajaxComplete(setup_form);
Теперь это позволит настроить элементы вашей формы на document.ready
, а также при завершении запроса ajax.