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

本文介绍了layui弹窗父子窗口之间传参数的方法,分享给大家,具体如下:

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);  
  }  

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容