两次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) {
//按钮【取消】的回调
});
}
技术leader
2020/05/22 14:18- javascript
- 点赞
- 收藏
- 回答
满意答案