我正在尝试删除多个选定的行。我按照此处描述的方式实现了多项选择:https://stackoverflow.com/a/4186851/1844996
我的删除代码如下:
element.jqGrid('navGrid', pagerId,
{ edit:false, add:false, search:false, del:true, refresh:true },
/*editParams*/{
},
/*addParams*/{
},
/*deleteParams : */{
mtype: 'DELETE',
onclickSubmit: function (params, postdata) {
var rowids = postdata.split(",");
for (var i = 0; i < rowids.length; i++) {
var id = rowids[i];
var uniqueId = element.jqGrid('getCell', id, uid);
params.url = url + '/' + encodeURIComponent(uniqueId);
}
},
serializeDelData: function () {
return ''; // don't send and body for the HTTP DELETE
}
}
);
当只选择了一行时,DELETE HTTP请求被发送到服务器,一切都像魅力一样。 但是,对于多个选择,每个uniqueId都可以很好地创建,但只有一个DELETE HTTP与最后选择的行一起发送。任何想法如何克服这一点,并为每一行激发单独的DELETE HTTP?
答案 0 :(得分:0)
我设法实现它略有不同。我没有触发多个DELETE HTTP请求,而是在url中设置逗号分隔的删除id值。
params.url = url + '/' + [uniqueIds]
并在服务器上处理删除逻辑。使用单个HTTP DELETE解决所有问题。