Я знаю, что об этом спрашивали много раз, но я все еще не нашел ясного и полезного ответа, поэтому я подумал, что напишу вопрос снова в более ясном формате?
Проблема в том, что когда вы используете функцию .load (), и у вас есть javascript, который должен работать в загруженном файле, он не работает, так как я предполагаю, что DOM уже загружен.
Самый простой способ - просто снова загрузить javascript внутри загруженного файла, но если у вас загружено много файлов с javascript повсюду, это не очень хорошая практика.
Кто-нибудь знает хороший способ сделать это?
Это настолько близко, насколько я могу сказать, чтобы быть достаточно аккуратным ??
<a data-toggle="modal" data-target="#DIV" href="./ajax/file.php?id='.$row['id'].'"></a>
$("a[data-toggle='modal']").on('click', function() {
var target, url;
target = $(this).attr('data-target');
url = $(this).attr('href');
return $(target).load(url, function(responseText, statusText, xhr){
if(statusText == "success"){
// Re-initiate all required javascript if the load was successful.
$(".datepicker").datepicker({
changeMonth: true,
changeYear: true,
showOn: "both",
buttonImage: "./assets/img/calendar.gif",
buttonImageOnly: true,
dateFormat: 'dd-mm-yy'
});
}
if(statusText == "error"){
alert("There was a problem trying to load the page.");
}
});
});
Внутри файла file.php есть просто форма, в которой есть поля, требующие таких вещей, как указатель даты и т. Д.
Нагрузка работает нормально.