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


Posted in Javascript onJanuary 16, 2018

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

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

Javascript 相关文章推荐
js当一个变量为函数时 应该注意的一点细节小结
Dec 29 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
Nov 29 Javascript
Javascript实现禁止输入中文或英文的例子
Dec 09 Javascript
node.js中的http.response.getHeader方法使用说明
Dec 14 Javascript
JavaScript日期时间与时间戳的转换函数分享
Jan 31 Javascript
jQuery使用$.ajax进行即时验证实例详解
Dec 11 Javascript
connection reset by peer问题总结及解决方案
Oct 21 Javascript
基于JavaScript实现屏幕滚动效果
Jan 18 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
vue-cli配置环境变量的方法
Jul 09 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
Jun 26 Javascript
vue和iview实现Scroll 数据无限滚动功能
Oct 31 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
Jan 16 #Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 #Javascript
AngularJS监听ng-repeat渲染完成的两种方法
Jan 16 #Javascript
微信小程序实现流程进度的图样式功能
Jan 16 #Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 #Javascript
vue单页面打包文件大?首次加载慢?nginx带你飞,从7.5M到1.3M蜕变过程(推荐)
Jan 16 #Javascript
详解layui中的树形关于取值传值问题
Jan 16 #Javascript
You might like
第九节--绑定
2006/11/16 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
zend framework重定向方法小结
2016/05/28 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
Javascript 类与静态类的实现(续)
2010/04/02 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
JavaScript提高网站性能优化的建议(二)
2016/07/24 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
element ui 对话框el-dialog关闭事件详解
2018/02/26 Javascript
使用vue完成微信公众号网页小记(推荐)
2019/04/28 Javascript
深入了解JavaScript 的 WebAssembly
2019/06/15 Javascript
Vue编写可显示周和月模式的日历 Vue自定义日历内容的显示
2019/06/26 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
微信小程序激励式视频广告组件使用详解
2019/12/06 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
javascript读取本地文件和目录方法详解
2020/08/06 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
2020/10/31 Javascript
nuxt.js 在middleware(中间件)中实现路由鉴权操作
2020/11/06 Javascript
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
Windows下的Python 3.6.1的下载与安装图文详解(适合32位和64位)
2018/02/21 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
python3 flask实现文件上传功能
2020/03/20 Python
python类的实例化问题解决
2019/08/31 Python
python调用接口的4种方式代码实例
2019/11/19 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
python如何快速生成时间戳
2020/07/21 Python
Python 高效编程技巧分享
2020/09/10 Python
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
Canvas实现保存图片到本地的示例代码
2018/06/28 HTML / CSS
大班开学家长寄语
2014/04/04 职场文书
法制宣传标语
2014/06/23 职场文书
辛德勒的名单观后感
2015/06/03 职场文书
js 数组 fill() 填充方法
2021/11/02 Javascript