问题:使用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 方法找不到,
修改冲突文件就可以正常操作