Layui open弹框获取值的方法
介绍:Layui 弹框之Iframe传值处理
本人在使用到layui的iframe版 ,里面使用到了弹框 。
普通弹框:layui.open();
像这种传递值都没什么问题 , 子页面获取父页面值 或者父页面获取子页面值
全屏弹框:parent.layui.open()
但是像这种的话,继续使用官方提供的获取父页面值就没有办法获取了。 因为有多个iframe 如果使用parent.$("#") 获取元素的话是获取全局元素,没有办法获取到的。
我的想法
当使用parent.layui.open弹框时,将当前父页面对象传递过去 (" _this ")
解决 子页面 获取 父页面方法以及元素。
父页面
:
// 父页面
window.parent._admin = this;
子页面
:
// 1. 在parent.layui.open 打开的页面中获取父页面对象
var admin = parent._admin;
// 2. 子页面调用父页面方法
admin.function();
// 3. 子页面获取父页面元素
admin.document.getElementById("id");
admin.document.getElementById("id").value;
上代码,看图片
父页面代码:
子页面代码: