技术leader 2020-05-22 14:18 采纳率: 100%
浏览 551
已采纳

两次layer.open()同一个DIV,layer.open()回调函数中变量值还是第一次的值什么原因?

如图所示,table操作列的编辑按钮触发函数showEditQuestion()。
在代码一中,小弟点第一行的【编辑】后打开layer弹出层,在不关闭当前打开layer层的情况下点击第二行的【编辑】按钮打开一个新的layer层。但是在新的layer层(即第二次打开的layer层)按钮【保存】的回调中的VQID 仍然是 edit1.
代码二中VQID的值随着更新。
是不是基本类型或者作用域的关系。
求大佬解惑
图片说明

//代码一

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) {
            //按钮【取消】的回调
      });
    }

//代码二
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) {
                //按钮【取消】的回调
          });
        }
  • 写回答

2条回答 默认 最新

  • 关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料