Я передаю html, полученный из get-запроса, в мою функцию Jquery-dialog.
Однако внутри диалога я больше не могу использовать никакие jquery-функции, хотя я включил jquery на страницу, вызывающуюдиалоговое окно.
Если я включу его СНОВА в html диалога, кнопка «ок» перестает работать, и все остальные элементы на странице, с которой я вызвал диалог, также не работают после закрытияdialog.
Я бы ожидал, что включения jquery на страницу, которая вызывает диалог, будет достаточно для того, чтобы диалог имел доступ к jquery, но, похоже, это не так.
ВотУ меня есть код:
dialog.js:
var dialogDiv = $(document.createElement('div'));
function myDialogue(content) {
dialogDiv.html(content);
dialogDiv.dialog({autoOpen: false, modal: true, buttons: { "ok": function() {
$(this).dialog("close");
$(this).dialog("destroy").remove();
} } });
dialogDiv.dialog('open');
dialogDiv.scrollTop(0);
return true;
}
вызов myDialogue =>
main.html:
<script type="text/javascript" src="/path/to/jquery.js"></script>
<script type="text/javascript" src="/path/to/dialog.js"></script>
$.get("/path/to/controller/index", {param: "value"}, function(content) {
myDialogue(content);
});
возвращенный htmlиз моего контроллера, который передается в диалоговом окне:
<script type="text/javascript">
$(document).ready(function() {
$("#edit_div :checkbox").click(function () {
// this NEVER gets called unless I include jquery again, but
// then the ok button and the rest of the page do not work anymore.
alert("checked!!!");
});
});
</script>
<div id="edit_div">
<input type="checkbox" value="mycheck" name="mycheck"/>
....