layert弹出层关于layer.open,打开页面时的用法

layer弹出层,当设置type为2时,引入其他页面中内容。

最近项目里碰到的问题,在父页面用layer.open打开子页面后,从子页面如何调用父页面的方法,从子页面如何关闭父页面中layer弹出层。

父页面打开弹出层

type设置为2
content中为打开的其他页面的地址

 //点击按钮,layer打开其他页面的弹出层
   $('#add').click(function(){
       var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
           allNode = zTree.getNodes(),  //ztree下所有节点
           nodes = zTree.getSelectedNodes(),  //获取ztree下得选中节点
           treeNode = nodes[0];

            if(treeNode==undefined){
                layer.alert('还没选择部门');
                return false;
            }else{
                layer.open({
                    type: 2,
                    title: '编辑',
                    shadeClose: true,
                    shade: 0.8,
                    area: ['500px','540px'],
                    content: 'www.baidu.com'+treeNode.id
                });
            }
   });

在打开的子页面中,提交表单,并根据提交状态判断是否关闭该子页面,当关闭了子页面弹出层,刷新父页面的一个页面。

开始我是在layer.alert的回调函数中直接layer.closeAll(),并不好使。

最终实现
1、通过获取父页面下得layer的层级,并在父页面下关闭该层级的layer
2、通过window.parent.fn 调用父页面中自定义的函数,刷新父页面中的列表。

$("input[type='button']").click(function(){
		$.ajax({
			type:'post',
			url:'',
			data:$("#user").serialize(),
			dataType:'json',
			success:function(data){
				console.log(data);
				if(data.flag==0){
					layer.alert(data.msg,function(){
						var index=parent.layer.getFrameIndex(window.name);  //获取父页面中layer的层级
						parent.layer.close(index);  //当alert关闭后,关闭父页面中的layer弹出层
						return true;
					})
					window.parent.refreshFn();  //调用父页面自定义的方法刷新父页面
				}else{
					layer.alert(data.msg)
				}
			}
		});
    });
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值