我有一个包含对象的数组,我想通过 GET 保存每个对象,并在回调中更新某些参数,bot
html:
<html><body><div id='test'><div id="a">a</div><div id="b">b</div></div></body></html>
js:
$.map($("#test > div"), save)
save = function(o,i){
itt = $(o)
tmp = {'desc':itt.html()};
$.get('ajax/update_post', {'data':array2json(tmp)}, function(a){
alert(itt.attr('id'))
updatePostBack(a,itt)
})
}
updatePostBack = function(a,item){
alert(item.attr('id'))
}
updatePostBack 始终接收 las 项目! 如何将正确的 ID 或对象传递给 js/jquery 中的回调函数?
最佳答案
遗憾的是,该解决方案非常平凡:您需要在变量前添加 var
以将它们声明为新变量。在第一个迭代完成之前,它们被下一个迭代不恰本地覆盖。这段代码对我有用:
save = function(o,i){
var itt = $(o)
var tmp = {'desc':itt.html()};
$.get('ajax/update_post', {'data':array2json(tmp)}, function(a){
alert(itt.attr('id'))
updatePostBack(a,itt)
})
}
updatePostBack = function(a,item){
alert(item.attr('id'))
}
$.map($("#test > div"), save);
我还将 map 语句移到末尾,以便它在声明后 调用保存函数。
关于javascript - 没有动态参数的jquery ajax回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1182947/