我在网站上有一个包含多行数据的表格。每行数据都可以在行本身上编辑,每行的末尾都是一个保存按钮。
因此,如果我有10行,我将有10个保存按钮。
我希望每个保存按钮通过ajax调用将相应的行数据保存到数据库,在ajax调用完成后,按钮文本变为"已保存"。问题是,用户可以按顺序点击多个保存按钮,而无需等待先前的保存完成。
因此我需要一个每个按钮独有的ajax调用,但是我很难找到一个简单的方法来执行此操作。有人可以帮忙解决ajax骨架代码吗?我是否提交了ajax调用,包括按钮ID和ajax完成函数,我在返回ajax消息中的按钮id?
干杯 凯文
答案 0 :(得分:0)
想象一下,你有一个知道被点击按钮标识的变量。让我们称之为button
。
var button = // some button;
当您使用以下逻辑调用ajax调用时...
$.ajax({
// Other parameters
success: function(data) {
$(button).text("saved");
}
});
当通过JavaScript闭包发生button
回调时,success
变量的实例仍将在范围内。因此,回调的上下文仍然是该特定回调的实例所知。
这是一个特定的jsFiddle,它使用表格和按钮说明了解决方案。我没有调用Ajax服务,而是使用setTimeout()
函数简单地延迟了几秒钟,但原理是一样的。