jquery中layer弹出层的使用,以及关闭后如何刷新调用层

来源:互联网 发布:tdlte是什么网络类型 编辑:程序博客网 时间:2024/05/28 15:29

首先介绍我的结构:
使用easyUI布局:北、西,中部content放置的是iframe
layer弹出层在iframe中调用,但效果需要在整体页面弹出以美观;
所以:

this.modelWindow=function(url,title,height){        layer.open({            type: 2 //Page层类型            ,title:title //标题            ,area: ['900px', height]            ,shade: 0.6 //遮罩透明度            ,maxmin: true //允许全屏最小化            ,anim: 1 //0-6的动画形式,-1不开启            ,content: url        });    }
function showDetail(id){   parent.x.modelWindow('${MH}/examine/examineUser?id='+id,'审核企业信息','350px');}

调用parent父对象,利用父对象调用modelWindow弹层方法。
关闭的时候也是纠结了一点时间,因为两个都是单独的页面,所以,需要获取到弹层的索引,然后利用父对象关闭弹层;

var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引 parent.layer.close(index); //再执行关闭

在这里,审核完成之后需要刷新easyUI数据表格,所以,并不是全部刷新,而是局部刷新,只reload iframe中的datagrid数据即可,为保证正确性,在iframe中写好刷新方法:

function dataReload(){    $("#obj").datagrid('reload');}

然后获取到父对象,父对象获取到iframe,再去调用iframe中的方法

window.parent.document.getElementById("frm").contentWindow.dataReload();

所以最后完整的关闭弹层的方法是:

function closeMode(){        var index = parent.layer.getFrameIndex(window.name);         //先得到当前iframe层的索引        window.parent.document.        getElementById("frm")        .contentWindow.dataReload();        parent.layer.close(index); //再执行关闭    }
阅读全文
0 0
原创粉丝点击