function piliangchuli(){
$("<div/>").dialog({
title: '批量处理',
id:'batchProcessing',
width: 920,
height: 'auto',
top:300,
closed: false,
inline:false,
loadingMessage: '正在加载...',
cache: false,
href :'../business/customermanagement/customerRelations/BatchProcessing.jsp',
modal: true,
onClose : function() {
$(this).dialog('destroy');
mmg.load();
},
});
}
可以使用onclick触发,然后$选择器里可以写成<div/>,这样操作过后关闭弹出框后,再弹出来时就不会保留上次弹出时留下来的操作痕迹,会重新渲染出来。
因为用的是easyui框架,所以就导致点击左边菜单栏弹出右边的tab是用iframe标签写的,这样就导致了一个问题,那就是那些在dialog里的弹出框会只在当前父级的iframe页面里显示,超出tab页范围时会被iframe标签外的别的东西挡住,显示不出来,说的简单点就是dialog弹出框不在最上层显示。在网上找原因是因为iframe与外面的div不是一个层级的,属于跨域的问题了,所以可以用如下方法,使dialog在主页调用就可以了:
function batchProcessing(){
parent.piliangchuli();
}
这是在子页面写的(即iframe框架里的页面里)。上面第一个写的调用dialog时是在主页面写的,这样就可以通过parent.function来沟通iframe和父页面的沟通,不会存在跨越问题了。
这样以后,本来以为问题都解决了,谁知道又出现问题了,因为虽然弹出框顺利的在主页面弹出来了(即最上层页面),但是那个dialog页面的js和css样式都失效了,又上度娘查了一圈才发现调出dialog框时只会弹出body标签里面的内容,head标签里的样式和js文件都不会被引入,所以只能把这些引入文件写入body标签里才管用。。。
这样折腾完后,终于发现js和css样式出来了,但是不亏是网一青铜段位的撸手,这手速,又发现了一个BUG,那就是第一次点击时,dialog弹出来了,数据什么的都很正常,但是当第二次点击时,就会报错$().dialog() is not a function,dialog也不会弹出来~~无奈只能再次求助度娘,果然度娘没叫我失望,说是由于主页已经引入了jauery文件,然后在dialog弹出框的body标签里又引入了jquery文件,把它删除了以后就好了~~
好了,目前使用easyui的dialog问题只有这么多,说不定会不定期更新~~