二、操作弹窗打开的子页面返回值
场景:此处小编的场景是操作ztree树,其实和操作列表都是一样的。通过点击增加按钮弹窗选择树节点,关闭窗口返回值
1、先说子页面
1-1、html代码
在body中只需要加以下一句话就可以啦,
<ul id="treeDemo2" class="ztree larry-ztree-demo2" style="margin-left:20px;"></ul>
1-2、js代码
要在js代码中加上返回的方法,以供父页面调用就OK了
function callbackdata() {
var flag = true;
f();
if(resList.length>0){
}else{
flag = false;
layer.msg("请至少选择一个节点")
}
var data = {resList : resList,
flag : flag
};
return data;
}
2、再说父页面
2-1、js页面
html页面就不多说了,就一个按钮。如下代码中,使用var res = window["layui-layer-iframe" + index].callbackdata();锁定子页面内的方法,即可拿到返回值啦。
add_undertaker: function() {
var tit = '办案人员信息';
var url = '../../commonbsp/personalizedbsp/tree.html?type=select';
var index = larryms.open({
title: tit,
type: 2,
shadeClose: false,
area: ['380px', '405px'],
content: url,
btn: ['确定','关闭'],
yes: function(index){
//当点击‘确定'按钮的时候,获取弹出层返回的值
var res = window["layui-layer-iframe" + index].callbackdata();
//打印返回的值,看是否有我们想返回的值。
var flag = res.flag;
if(flag){
//保存信息
var json = JSON.stringify({"caseId":caseId,"items":res.resList});
var url = dataportal_save_tree_selectors;
$.ajax({
url: url,
async: false,
type: "post",
contentType: "application/json",
dataType: "json",
data: json,
success: function (data) {
//局部刷新表格
table.reload("message_undertaker");
//弹窗
layer.msg("保存成功!");
},
error: function (data, textstatus) {
layer.msg("保存失败!");
}
});
//最后关闭弹出层
layer.close(index);
}
},
cancel: function(){
//右上角关闭回调
}
});
}
以上就是两种方法的所有内容总结啦。