我将一些来自get-request的html传递给我的Jquery-dialog函数。
在对话框中,我不能再使用任何jquery-functions了 在调用对话框的页面中包含了jquery。
如果我将AGAIN包含在对话框的html中,则对话框的“ok”按钮停止工作,关闭对话框后,我调用对话框的页面上的所有其他内容也不再起作用。
我希望在调用对话的页面中包含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"/>
....
答案 0 :(得分:0)
只有在首次加载页面时,才会调用包含函数的document.ready
事件。
您可以尝试从document.ready
包装器中取出该功能,并将整个script
标记放在您从控制器发送的标记的末尾。