使用easyui dialog 弹出框的一些注意事项

使用easy ui 的dialog弹出框制作后台管理系统时需要点击按钮弹出个新的弹出框,为了保持每次点击显示出来的数据都是重新渲染,从后台获取的,可以这样来写:

function piliangchuli(){$("").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触发,然后$选择器里可以写成,这样操作过后关闭弹出框后,再弹出来时就不会保留上次弹出时留下来的操作痕迹,会重新渲染出来。

因为用的是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问题只有这么多,说不定会不定期更新~~


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部