您的位置:首页 > 产品设计 > UI/UE

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

2018-01-16 15:08 736 查看

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

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

您可能感兴趣的文章:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  layui 父子 传参