layer 子窗口关闭并把数据传送到父层页面

整理了一下网上的各种方法,自己实现基于layer的子窗口关闭并把数据传送到父层页面

0.首先说一下背景:

官方文档:https://www.layui.com/doc/modules/layer.html

cancel - 右上角关闭按钮触发的回调

类型: Function , 默认:NULL
该回调函数携带两个参数,分别为当前层索引、当前层DOM对象.
实例:

layer.open({
  content: '测试回调',
  yes: function(index, layero){
    //do something
    layer.close(index); //如果设定了yes回调,需进行手工关闭
  }
});  
end - 层销毁后触发的回调

类型:Function,默认:null

无论是确认还是取消,只要层被销毁了,end都会执行,不携带任何参数。

1.子窗口的方法代码


//定义方法来返回数据

var msg = '我天下无敌';

function callBackMsg() {
  return msg;
}

2.父窗口的代码

layer.open({
        type:2,
        area: ['800px', '500px'],
        shadeClose: true,
		content:'子页面.html',
		//eancel也可以换为end函数
        cancel: function(index, layero){  
                 //son_msg就是子页面中的msg数据     
                 var son_msg = $(layero).find("iframe")[0].contentWindow.callBackMsg();
        }
      });

你可能感兴趣的:(layer 子窗口关闭并把数据传送到父层页面)