0
테이블 (django-tables2 작성)에서 레코드를 삭제하도록 설정된 ajax 호출이 있습니다. 모든 행에는 클래스가 delete_relationship_button
인 h 제 단추와 관계 레코드의 pk ID가 있습니다. 아약스 호출은 한 번 완벽하게 작동합니다. 후속 호출은 아무 것도하지 않습니다. 네트워크 탭과 콘솔 모두 결과를 표시하지 않습니다. 다른 사람들도이 문제를 겪고있는 것을 보았습니다. 그러나 해결책은 모두 추천되지 않는 .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,})
에
을 변경 {' – karthikr
브릴리언트! 원하십니까 – thumbtackthief
더 나은 성능을 위해'document' 대신에'.delete_relationship_button'의 static 부모에게 이벤트를 위임하는 것이 가장 좋습니다. 'document'에 click 이벤트를 첨부하면 모든 이벤트가 처리 될 것입니다 페이지가 클릭 된 모든 시간. 처리 됨은 의미합니다. 콜백을 실행하기 전에'.delete_relationship_button'이 클릭 된 실제 요소인지 확인합니다. – user193130