layui type:2 iframe子頁面向父頁面傳值
阿新 • • 發佈:2020-09-08
(耗了我一天時間,我juo得可以記錄一下)
需求:
選擇子頁面表格中的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() //關閉父頁面所有彈框
});