layer.open 打开新页面传参问题

更新日期: 2019-09-15阅读: 4.7k标签: 传参


如图所示,点击出售,把A页面的数据传到弹框上面,因为弹框比较复杂,所以使用引入一个新页面。

A.html a.js 
B.html b.js


1、第一种方案

sellInte: function (){
    var obj = document.getElementById("first_value");
    var num = obj.innerText;
    layer.open({
        type: 2,
        title: '出售积分',
        area: ['392px','300px'],
        shade: 0.1,   //遮罩透明度
        content: '../../../integral/sellInte.html',
        btn:['确定','取消'],
        scrollbar: false, //屏蔽浏览器滚动条
        success: function(dom) {
            var a = $(dom[0]).find("iframe").eq(0).contents();
            a.find("#mdxl_1_value").html(num);
            a.find("#mdxl_2_value").html('¥'+ num/100);
        },
        yes: function (index) {
            Ajax.request({
                url: "../sys/integral/sellIntegral",
                data: {
                    "integral":num
                },
                contentType: "application/json",
                type: 'get'
            });
            getAccount(1);
            vm.reload();
            layer.close(index);
        },
        cancel: function (index) {
            layer.msg('欢迎下次再来啊');
        }
    });

}

把参数传到B页面需要使用success函数

var a = $(dom[0]).find("iframe").eq(0).contents();

a.find("#mdxl_1_value").html(num);

a.find("#mdxl_2_value").html('¥'+ num/100);


2、第二种方案

在a.js中,添加数据到缓存

window.id = id;
window.num = num;

然后在b.js获取该值

$(function () {
    var num = parent.num;
    var id = parent.id;
});

这样也可以获取到他们的值,然后赋值给标签的value上。


链接: https://fly63.com/article/detial/5923

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!