Home > Article > Web Front-end > Detailed explanation of how layui parent-child windows pass parameters
This article mainly introduces the method of passing parameters between ayui pop-up windows and parent-child windows. Now I share it with you and give you a reference.
This article introduces the method of passing parameters between the parent and child windows of the layui pop-up window, and shares it with everyone. The details are as follows:
1. The parent page opens the child page and passes parameters to the child page
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. The child page passes parameters to the parent page and closes the pop-up window
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 above is what I compiled for everyone. I hope it will be helpful to everyone in the future.
Related articles:
How to create an instruction to upload photos in AngularJS (detailed tutorial)
How to dynamically add Li in javaScript Examples of elements
How to dynamically add HTML tag elements with styles in jquery
How to dynamically add li tags in jQuery and Add attributes and bind event methods
Use elementUI to implement custom theme methods in Vue
The above is the detailed content of Detailed explanation of how layui parent-child windows pass parameters. For more information, please follow other related articles on the PHP Chinese website!