问题:如图所示,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) { //按钮【取消】的回调 }); }
复制