layui的layer弹出层的iframe页面回调

示例代码: $("#ChoiceBank").click(function () { var width = $("#content").css("Width"); layer.open({ type: 2, title: '开户银行选择', area: [width, '380px'], content: ['/Bank.aspx', 'no'], btn: ['确定', '取消'], yes: function (index, layero) { var body = layer.getChildFr

示例代码:
$("#ChoiceBank").click(function () {
    var width = $("#content").css("Width");
    layer.open({
        type: 2,
        title: '开户银行选择',
        area: [width, '380px'],
        content: ['/Bank.aspx', 'no'],
        btn: ['确定', '取消'],
        yes: function (index, layero) {
            var body = layer.getChildFrame('body', index);  //此处我理解的是加载目标页面的内容
            $("#当前页面需要设置的元素").val(body.find('#h_bankName').val());  //查到目标页面的内容赋给当前页面元素
            layer.close(index);//这块是点击确定关闭这个弹出层
        }
    });
});

通过layer.getChildFrame('body', index);的方式,得到DOM元素,然后查找,可以得到返回值。

当然这个返回值得在iframe中设定好。

另外一种方式就是通过回调函数来传递。

layer.open({
    type: 2,
    title: "设置围栏",
    shadeClose: true,
    shade: 0.4,
    area: ['90%', '90%'],
    content: "/ElectronicFence/Map?id=" + id + "&shapeType=" + shapeType,
    btn: ['确定','关闭'],
    yes: function(index){
        //当点击‘确定’按钮的时候,获取弹出层返回的值
        var res = window["layui-layer-iframe" + index].callbackdata();
        //打印返回的值,看是否有我们想返回的值。
        console.log(res);
        //最后关闭弹出层
        layer.close(index);
    },
    cancel: function(){
        //右上角关闭回调
    }
});
var res = window["layui-layer-iframe" + index].callbackdata();
这行代码中‘callbackdata’是弹出层里面定义的函数。也许我们知道了什么!这个函数的作用就是返回值。
<script type="text/javascript">
    var map = new AMap.Map("container", {
        resizeEnable: true
    });
    //在地图中添加MouseTool插件
    var mouseTool = new AMap.MouseTool(map);
    AMap.event.addDomListener(document.getElementById('point'), 'click', function () {
        mouseTool.marker({ offset: new AMap.Pixel(-14, -11) });
    }, false);
    AMap.event.addDomListener(document.getElementById('line'), 'click', function () {
        mouseTool.polyline();
    }, false);
    AMap.event.addDomListener(document.getElementById('polygon'), 'click', function () {
        mouseTool.polygon();
    }, false);


    var callbackdata = function () {
        var data = {
            username: 'zhangfj'
        };
        return data;
    }
</script>
 

本文标题为:layui的layer弹出层的iframe页面回调