我在用着数据表。我想让用户选择多行并删除它们。到目前为止,我已经让它工作了,所以它使用下面的代码删除了选择中的第一行。
阿贾克斯代码:
/* Add a click handler for the delete row */
$('#delete').click( function() {
/* fnGetSelected returns an array of integers - each int is a db unique id */
var anSelected = fnGetSelected( oTable );
delete_url = '/delete/' + anSelected[0];
$.ajax({
url: delete_url,
type: 'GET',
});
oTable.fnDeleteRow( anSelected[0] );
fnReloadAjax();
} );
姜戈代码:
@login_required
def delete(request, row_id):
item = get_object_or_404(Items, pk=row_id, user=request.user)
item.delete()
我如何更新它以将所有行 id 传递到 Django 后端?我想我需要发布 anSelected 数组,但我不确定如何执行此操作。我需要什么 Django 代码来处理这个整数数组?
你可以尝试这样的事情:
$(function(){
$.post("{% url delete %}", {"ids[]": anSelected}, function(res){
if(res.ok){
// remove rows from your table, maybe :)
// oTable.fnDeleteRow(anSelected);
}else{
alert(res.errors);
}
});
})
在服务器上:
@ajax_request
def test(request):
ids = request.POST.getlist("ids[]")
try:
Items.objects.filter(id__in=ids).delete()
except:
return {"ok": False, "errors": "your error"}
return {"ok": True}
@ajax_request 装饰器来自https://bitbucket.org/offline/django-annoying/wiki/Home并让你返回 json 响应。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)