A:主页面,B:父页面(新增页面),C:子页面(在B页面基础继续打开的页面)
全程只需要B、C页面操作即可
一、方法1
1、打开C页面,可以用 layer.open 传值,那么注定C页面会套在B页面其中,
2、B页面有个隐藏域,用于接收id
<input style="display: none" id="guid" name="guid"/>
3、C页面选择一条信息回调B
function chooseP(guid) {
parent.getPeopleID(guid);
parent.layer.closeAll();
}
4、B页面获取C页面id方法
function getPeopleID(guid) {
console.log(guid)
}
二、方法2
1、如果 C页面比B页面大呢?那么接下来可以这样做
2、B页面有个隐藏域,用于接收id
<input style="display: none" id="guid" name="guid"/>
3、打开C页面的时候j就可以用 parent.layer.open,需要另外传一个window.name,如下
function chooseP() {
parent.layer.open({
type : 2,
title : '人员信息',
shadeClose : true,
shade : 0.4,
zIndex:window.top.layer.zIndex,
area : [ '1313px', '661px' ],
content : sys_ctx +'/common/GridManChoose/GridManChoose.jsp?parentname='+window.name,
});
return false;
}
4、C页面jsp也需要接收
<script type="text/javascript"> var parentname='${param.parentname}'; </script>
5、然后回调B页面
function chooseG(guid) {
window.top.$("#"+parentname)[0].contentWindow.$("#guid").val(guid);
var index = parent.layer.getFrameIndex(window.name);//用作B页面的参数
parent.layer.close(index);关闭C 回到B
}
好了,完成。