欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-05 20:15:01
本文介绍了layui弹窗父子窗口之间传参数的方法,分享给大家,具体如下: 1、父页面打开子页面并向子页面传参数 function setchoosevalu...

本文介绍了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);  
  }  

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