parent.layer.open 子页面向父页面传值

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
}

好了,完成。

  

猜你喜欢

转载自www.cnblogs.com/w-yu-chen/p/12156466.html