layui弹窗父子窗口之间传参数的方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/babyxue/article/details/76854106

1、父页面打开子页面并向子页面传参数

function setChooseValues(ret){ 
        var oView = document.getElementById("userName");  
        var oValue = document.getElementById("userIds");  
        var i = 0;  
        if( ret != null){  
            oValue.value="";  
            oView.value="";  
            oView.title="";  
            for( x in ret){  
                i++;  
                oView.title=oView.title + ret[x].name+",";  
                oValue.value=oValue.value+ret[x].id+",";  
                oView.value = oView.value+ret[x].name+"\n";  
            }  
            if(i==0){  
                oView.value="";  
            }  
        }  
    }  
    function OpenFrame( oValue, oView) {  
        var dialogArgumentsA = new Array(oValue.value , spitToString(oView));  
        var url = "${rootPath}/page/system/roleallot/role_allot.jsp";  
        layer.open({  
            type: 2,  
            skin: 'layui-layer-lan',  
            title: '选择人员',  
            fix: false,  
            shadeClose: false,  
            maxmin: true,  
            id:'selectUser',  
            move: false,  
            closeBtn:2,  
            //以下代码为打开窗口添加按钮  
            /* btn: ['确定', '取消'], 
            btnAlign: 'c', 
            yes: function(index, layero){ 
                /* //layer.closeAll();//关闭所有弹出层 
                //var parentWin = layero.find('iframe')[0]; 
                var parentWin  = layer.getChildFrame('body', index); 
                alert(parentWin); 
                parentWin.contentWindow.doOk(); 
                //layer.close(index);//这块是点击确定关闭这个弹出层 
            }, */  
            area: ['750px', '450px'],  
            content: url,  
            success: function(layero, index){  
                var body = layer.getChildFrame('body', index);  
                var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();  
                var ids = dialogArgumentsA[0].split(",");  
                var names = dialogArgumentsA[1].split(",");  
                for (var i = 0; i < ids.length; i++ ) {  
                    if ('' != ids[i]) {  
                        var option = $("<option>").val(ids[i]).text(names[i]);  
                        body.find('select').append(option);  
                    }  
                }  
            }  
        });  
    }


2、子页面向父页面传参数并关闭弹窗

function newBuildReturnValue(selectName){
    var ret = new Array(); 

          $("#"+selectName+" option").each(function(){

          //遍历所有option    
              var value = $(this).val();   //获取option值     
              var text = $(this).text();  
              if(text!=''){     
                  var o = new Element(value, text, 0);  
                ret.push(o);  
              }    
        });  
      return ret;  
    }  
    //点击确定向子页面传参并关闭窗口  
    function doOk(){  
        var ret = newBuildReturnValue("select");  
        parent.setChooseValues(ret);  
        var index = parent.layer.getFrameIndex(window.name);  
        parent.layer.close(index);  
    }  
      
    //点击取消关闭窗口  
      
    function doCancel(){  
        var index = parent.layer.getFrameIndex(window.name);  
        parent.layer.close(index);  
    } 



猜你喜欢

转载自blog.csdn.net/babyxue/article/details/76854106
今日推荐