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