国内外VPS
主机测评与优惠

layer子窗体关闭后向父窗体传值的办法

layer是一款非常优秀的弹窗控件,最近在使用layer做开发的时候遇到一个需求:layer子窗体关闭后向父窗体传值,然后父窗体根据传值决定下一步操作。

如果只是单纯的子窗体关闭后,父窗体进行相应操作那么我们可以使用父窗体的end方法:

示例1,子窗体关闭后父窗体刷新:

子窗体代码:

window.parent.layer.closeAll();

父窗体代码:

$("#new").on('click',function(){
var url = "{:url('index/file/create')}";
layer.open({
type: 2,
title: '新增案卷',
shadeClose: true,
shade: 0.5,
area: ['380px', '300px'],
content: [url],
end: function () {
location.reload();
}
});
})

上面代码在子窗体中调用父窗体的关闭代码,然后利用父窗体的end方法实现响应,达到子窗体关闭后父窗体做出响应。

但是如果我们有更高的需求,比如说根据子窗体关闭时传的值来决定父窗体是刷新还是跳转,那怎么办呢?

示例2,子窗体关闭后向父窗体传值,然后父窗体根据传值决定下一步操作:

子窗体代码:

parent.callback(data.data);
window.parent.layer.closeAll();

父窗体代码:

//layer子窗体控制父窗体
function callback(id){
if(id>0){
var url = "{:url('index/file/archives')}?id="+id;
location.href = url;
}else{
location.reload();
}
}

上面代码在子窗体中先调用父窗体定义的回调函数,然后在父窗体定义对应的回调函数即可。

赞(0)
未经允许不得转载:艾博网 » layer子窗体关闭后向父窗体传值的办法
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

'); })();