0
我有一个ajax调用集来从表中删除记录(由django-tables2制作)。每行都有一个删除按钮,其类别为delete_relationship_button
,关系记录的pk为id。 ajax调用完美...一次。后续呼叫什么都不做 - 网络选项卡和控制台都不显示任何结果。我看到其他人有这个问题,但解决方案都涉及使用.live
已弃用。Ajax调用只有第一次触发
任何想法?也会喜欢为什么会发生这种情况的解释或观点。
$('.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,})
试试看'$(文件)。在( '点击', '.delete_relationship_button',函数(){' – karthikr
辉煌!想让它成为答案,所以我可以接受它? – thumbtackthief
为了获得更好的性能,最好将事件委托给'.delete_relationship_button'的静态父项而不是'document'。将click事件附加到'document'会导致它被处理点击页面的任何时间,处理意味着它在执行回调之前检查'.delete_relationship_button'是否是点击的实际元素。 – user193130