两次layer.open()同一个DIV,layer.open()回调函数中变量值还是第一次的数据。

问题:如图所示,table操作列的编辑按钮触发函数showEditQuestion()。
在代码一中,小弟点第一行的【编辑】后打开layer弹出层,在不关闭当前打开layer层的情况下点击第二行的【编辑】按钮打开一个新的layer层。但是在新的layer层(即第二次打开的layer层)按钮【保存】的回调中的VQID 仍然是 edit1.

//代码一
function showEditQuestion(object) {
        var VQID = $(object).attr("id");//获取该事件触发对象的ID
        console.log(VQID);
        //显示编辑页
        layer.open({
            title: '编辑',
            shade: 0,
            type: 1,
            content: $("#HSH_Div"),
            area: ['800px', '520px'],
            btn: ['保存', '取消'],
            yes: function (index, layero) {
                console.log(VQID);
                //按钮【保存】的回调...........
            },
            btn2: function (index, layero) {
            //按钮【取消】的回调
      });
    }

解决方案:将VQID 拿到方法外面来,作为js的全局变量。

 
//代码二
var VQID = "";
function showEditQuestion(object) {
            VQID = $(object).attr("id");
            console.log(VQID);
            //显示编辑页
            layer.open({
                title: '编辑',
                shade: 0,
                type: 1,
                content: $("#HSH_Div"),
                area: ['800px', '520px'],
                btn: ['保存', '取消'],
                yes: function (index, layero) {
                    console.log(VQID);
                    //按钮【保存】的回调...........
                },
                btn2: function (index, layero) {
                //按钮【取消】的回调
          });
        }

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值