您的当前位置:首页正文

详细解读layui父子窗口如何传递参数

2020-11-27 来源:榕意旅游网

本篇文章主要介绍了ayui弹窗父子窗口之间传参数的方法,现在分享给大家,也给大家做个参考。

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

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

在AngularJS中如何创建上传照片的指令(详细教程)

在javaScript中如何动态添加Li元素的实例

在jquery中如何动态添加带有样式的HTML标签元素

在jQuery中如何实现动态添加li标签并添加属性和绑定事件方法

在Vue中使用elementUI实现自定义主题方法

显示全文