关于刷新同级layer弹框的解决方法

在项目中遇到这种情况:

父页面点击详情,layer.open一个子页面A,子页面里面又存在操作按钮,点击使用parent.layer.open在打开一个子页面B,子页面B点击提交操作成功要刷新子页面A的内容(子页面A的内容是通过ajax请求获取的,也就是说要再调用子页面A的这个方法。)

 

简单点说就是子页面要调用同级子页面的方法。

 

我的思路:

子页面A 定义一个全局变量getInfo;getInfo 再赋值为获取ajax数据的一个function;

在父页面也定义个全局变量getSonInfo;使用layer.open里的success回调函数,将子页面A的getInfo方法赋给getSonInfo;

var layerAdd = layer.open({
            title: "检修详情",
            content: content,
            area: ["930px", "90%"],
            type: 2,
            success: function(layero, index) {
                getSonInfo = $(layero).find("iframe")[0].contentWindow.getInfo;
                }
            });

子页面B调用parent.getSonInfo()就可以刷新子页面A的数据了。

 

总结,因为项目比较着急,就照着自己的思路往下走了,可能有些绕,也百度了查到了父页面下兄弟子页面互相传值调用的方法,但是目前来说功能算是实现了,等项目不忙的时候再研究更加效率直接的方法。

 

posted on 2018-06-13 09:44  华东首席鉴黄师  阅读(1599)  评论(0编辑  收藏  举报