Как мне выполнить встроенный javascript в HTML, возвращенный из вызова ajax — JQUERY

#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.