问题:使用JqueryUIDialog 加载部分页,可以弹出对话框,但是在操作页面上的按钮是提示"dialog"找不到,思路是,先取到部分页加载到要dialog的Div上,在dialog出来,代码如下,
问题代码:
$("#PushAisburse").click(function () { $.get("PushAisburse").success(function (data) { $("#dialog-form").append(data).dialog({ modal: true, buttons: { "增加": function () { //初始化提交 var fromdata = $("#addfrom").serialize(); $.post("PushAisburse", fromdata); }, "取消": function () { $(this).dialog("close"); } }, close: function () { $("#addfrom").remove(); } }); }).error(function () { $("<div></div>").attr("id", "msg").append("<p class ='.text-error'>打开添加收入记录失败!</p>").appendTo("body").dialog(); }); });
解决:
测试后分析生成的HTML 发现是加载部分页的问题, 如果用以上代码加载页面上的HTML代码可以正常操作,但是加载部分页就会有Bug,改成dialog弹出时加载部分页Bug消失
正常代码如下:
$("#PushAisburse").click(function () { $("#dialog-form").dialog({ modal: true, buttons: { "增加": function () { //初始化提交 var fromdata = $("#dialog-form").serialize(); $.post("PushAisburse", fromdata); }, "取消": function () { $(this).dialog("close"); } }, open: function () { $.get("PushAisburse").success(function (data) { $("#dialog-form").append(data); }).error(function () { $("#dialog-form").append("<p class ='.text-error'>打开添加收入记录失败!</p>"); }); } }); });
还有一个经常性的错误: 被加载的部分页中不能有和加载到body页面中有同样的引用文件,会导致引用文件冲突,导致,dialog只显示一次,关闭dialog后就打不开了,dialog 方法找不到,
修改冲突文件就可以正常操作