layer父子窗体传值

今天开发遇到一个layer子窗体关闭的问题,纠结了很久在这里做一下记录。

需求描述

在父窗体中弹出子窗体,双击子窗体内容之后关闭子窗体(双击区域后关闭子窗体,并且父窗体获取子窗体选择的值)。界面如下:
layer父子窗体传值_第1张图片
刚开始的思路是在子窗体中调用“关闭”按钮事件,但是无论怎么调用都获取不到()。

代码

top.layer.open({
                type: 2,
                area: ["45%", "35%"],
                title: "子窗口",
                maxmin: true, //开启最大化最小化按钮
                content: "/ztree/demo1",
                btn: ["确定",'关闭'],
                success:function(layero,index){
                    var obj =layero.find("iframe")[0].contentWindow;//获取子窗体对象
                    //定义childDbClick函数
                    obj.childDbClick=function(){
                        var win = top.window['layui-layer-iframe' + index];
                        var area=win.$("#area").val(); //获取子窗体数据
                        console.log(area);
                        top.layer.close(index);//关闭窗体
                    }

                },
                btn1:function(index, layero){
                    alert(123);
                },
                cancel: function (index, layero) {

                }
            });

在success回调函数中定义childDbClick函数,然后在子窗体调用此函数


callback: {
                onDblClick: function(event,treeId,treeNode){
                    //给隐藏域赋值 
                    $("#area").val(treeNode.name);
                    //调用childDbClick
                     childDbClick();
                }
            }

你可能感兴趣的:(前端)