📞 09318539889 📧 yxp@gansuwangzhan.cn

关闭弹出层后的数据回调

作者:杨锦龙时间:2025-10-22点击量:0次

HTML

<div class="layui-form-item">
    <label class="layui-form-label">
        <span class="x-red">*</span>上级菜单
    </label>
    <div class="layui-input-inline">
        <p>
            <input type="hidden" id="pid" name="pid" value="">
            <input type="hidden" id="p_name" name="p_name" value="">
            <span id="parentName">一级菜单</span>
            <a href="javascript:;" onclick="checkParent()">选择</a>
        </p>
    </div>
</div>

layui.open

function checkParent() {
    let title = "选择栏目";
    let url = "{:url('checkColumn')}";
    parent.layer.open({
        type: 2
        ,title: title
        ,area: ["60%","100%"]
        ,shade: [0.7, '#000', 'my-class']
        ,offset: ['0', '100%']
        ,skin: 'layui-anim layui-anim-rl layui-layer-adminRight'
        ,maxmin: false
        ,closeBtn:true
        ,content: url
        ,end: function(){
            // 从父窗口的layer.data获取数据
            var data = parent.layer.data;
            $("#parentName").html(data.title);
            document.getElementById("pid").value = data.pid;
            document.getElementById("p_name").value = data.title;
        }
    });
}

layui.close

function confirmData(pid,title){
    var index = parent.layer.getFrameIndex(window.name);
    console.log(index+":"+title);
    // 正确的方式:先设置数据,再关闭
    parent.layer.data = {
        pid: pid,
        title: title
    };
    parent.layer.close(index);
}