我有一个删除模式设置,我想要删除的模块的id被传递并设置为模态上的“删除”按钮。下面的代码为我做了这个:
$(document).on("click", "#deleteModule", function () {
var id = $(this).data('id');
$("#deleteModuleButton").attr('data-id', id);
});
这样做是为了让我点击模块中的“X”,然后在我点击之后,模态下降询问我是否确定。通过单击X我将id传递给模态,以便在单击“我确定”时按ID删除正确的模块。
不幸的是,每次单击该函数时都会传递相同的id。如果我在页面上有74,75和76,我可以删除我点击的第一个,说'74' - 然后每次我点击其他模块上的'X'(75,76)时,初始值为从第一次删除设置(74)永远不会被下一个元素覆盖,因此除非我刷新页面并再次尝试,否则无法删除其他模块。
onclick功能有什么固有的东西我可以忽略,有没有办法纠正这个?
答案 0 :(得分:0)
如果我正确理解您的问题,您可以尝试执行以下操作:
$(document).on("click", "#deleteModule", function () {
var id = this.data('id');
showConfirmClosePrompt(id); // Re-factor to use across all modals
});
这样,无论你点击X上的模态ID,你都会拥有id。您可能需要检查var id = $(this).data('id');
是否也是您的真正问题。
答案 1 :(得分:0)
答案是在声明中:
var id = $(this).data('id');
做得更好的是:
var id = $(this).attr('data-id', id);
前者绑定相同的值,而后者不能并且可以重复使用。在每个重复的实例中改变这一行解决了我所有的问题!