需求:
选择子页面表格中的radio或者双击该行,得到的该行数据传到父页面,由父页面渲染。
网上的各种方法都用了,父页面就是获取不到子页面传的值,过了一晚上,睡了一觉,柳暗花明又一村。
layui type:2 iframe子页面向父页面传值:
parent.objjson = obj.data //核心重点
可以直接给父页面赋值,layui.use里获取
html
<table class="layui-hide" id="test" lay-filter="test"></table>
父页面layui.use(在iframe弹框之后的代码里)
//全局变量
var objjson={}
layui.use('form', function (form) {
form.render()
function getobjjson() {
console.log("json运行")
console.log(objjson)
}
window.getobjjson = function () { //将方法添加到window,否则报错
getobjjson()
}
});
子页面给父页面的变量赋值,调用父页面方法
//单选框被选择的时候调用
table.on('radio(test)', function (obj) {
console.log(obj.checked); //当前是否选中状态
console.log(obj.data); //选中行的相关数据,json格式
parent.objjson = obj.data //给父页面的变量赋值,核心重点
parent.getobjjson() //调用父页面的方法
parent.layer.closeAll() //关闭父页面所有弹框
});