我有一个ajax调用设置来从表中删除记录(由django-tables2制作)。每行都有一个删除按钮,其类为delete_relationship_button
,id为关系记录的pk。 ajax调用完美...一次。后续调用不执行任何操作 - 网络选项卡和控制台都不显示任何结果。我看到其他人遇到了这个问题,但解决方案都涉及使用不推荐使用的.live
。
有什么想法吗?也会喜欢解释或指出为什么会发生这种情况的方向。
$('.delete_relationship_button').on('click', function(){
relationship_pk = this.id;
console.log(relationship_pk);
$.ajax({
type: 'POST',
url: '/app/relate/delete/',
data: {'relationship_pk':relationship_pk},
success: function(data){
$('#relationship_tables').html(data);
}
})
})
def delete_relationship(request):
# import pdb; pdb.set_trace()
try:
relationship_pk = request.POST.get('relationship_pk')
relationship = ItemRelationship.objects.get(pk=relationship_pk)
source = relationship.source
relationship.delete()
except:
pass
db_table, component_table = get_relationships(source)
return render(request, 'who/subtemplates/relationships.html',
{'db_table': db_table, 'component_table': component_table,})
答案 0 :(得分:0)
您必须使用delegation using on
来动态加载内容。
所以,改变
$('.delete_relationship_button').on('click', function(){
到
$(document).on('click', '.delete_relationship_button', function(){