layui弹出层父页面与子页面的传值,父页面调子页面的方法。

$('.mytable').on('click', '.editRow', function () {
var table = $('#table_id_example').DataTable();
var rowData = table.rows({selected: true}).data()[0];
if (rowData) {
layer.open({
title: this.text,
type: 2,
skin: 'layui-layer-rim', //加上边框
area: [window.screen.width / 2 + 'px', window.screen.height / 2 + 'px'], //宽高
maxmin: true, //开启最大化最小化按钮
content: "taskDetail.html",
success: function (layero, index) {
// 获取子页面的iframe
var iframe = window['layui-layer-iframe' + index];
// 向子页面的全局函数child传参
iframe.child(rowData);
}
})
} else {
alert("先选择行")
}
})


<script>
//子窗口
function child(d) {
alert(d)
//在这里你可以写你的jquery $(function(){ }) // 等等操作

}
</script>




//父子页面相互调用方法
//父页面
<body>
<a data-url="bbbb.html" id="parentIframe">小小提示层</a>
<input id="shuzhi" />
<button class="but_par">父页面</button>
</body>
<script src="../jquery-1.9.1.min.js"></script>
<script src="layer/layer.js"></script>
<script>
$(function(){
$("#parentIframe").click(function(){
var a = $(this).attr("data-url");
layer.open({
type: 2,
content: a,
success: function(layero, index){
var body = layer.getChildFrame('body', index);//获取子页面内容
var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
body.find("#transmit").click();//执行子页面的方法
body.find('input').val('Hi,我是从父页来的')
$(".but_par").click(function(){
alert(222);
})
}
});
})
})
</script>




//子页面
<body>
<input id="name" value="不满意" />
<button id="transmit">给父层传值</button>
</div>
</body>
<script>
$(function(){
$(document).on("click","#transmit").click(function(){
parent.$("#shuzhi").val($("#name").val());
parent.location.reload(); 刷新父页面
//关闭layer弹出层
var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
parent.layer.close(index);
})
window.parent.$(".but_par").click();//执行父页面的事件
})
</script>
posted @ 2019-07-29 14:44  小猴子会上树  阅读(13325)  评论(0编辑  收藏  举报