做网页经常要选择批量删除数据,基本都是异步请求批量删除,用到更多的是ajax批量删除。思路是前端ajax请求,传入ids(要删除对象id的字符串数组)到后台。
后台再遍历id,调用删除接口,删除数据。返回json给前台。
代码例子如下:
1 function deleteSaleChance() { 2 var selectedRows = $("#dg").datagrid("getSelections"); 3 if(selectedRows.length==0){ 4 $.messager.alert("系统提示","请选择要删除的数据!"); 5 return; 6 } 7 var strIds=[]; 8 for(var i=0;i<selectedRows.length;i++){ 9 strIds.push(selectedRows[i].id); 10 } 11 var ids= strIds.join(","); 12 $.messager.confirm("系统提示","您确定要删除这<font color=red>"+selectedRows.length+"</font>条数据吗?",function(r){ 13 if(r){ 14 $.post("${pageContext.request.contextPath}/saleChance/delete.do",{ids:ids},function(result){ 15 if(result.success){ 16 $.messager.alert("系统提示","数据已成功删除!"); 17 $("#dg").datagrid("reload"); 18 }else{ 19 $.messager.alert("系统提示","数据删除失败,请联系系统管理员!"); 20 } 21 },"json") 22 } 23 }); 24 }
1 @RequestMapping("/delete") 2 public String delete(@RequestParam(value="ids")String ids,HttpServletResponse response) throws Exception{ 3 String[] idsStr = ids.split(","); 4 for(int i=0;i<idsStr.length;i++){ 5 saleChanceService.delete(Integer.parseInt(idsStr[i])); 6 } 7 JSONObject result = new JSONObject(); 8 result.put("success", true); 9 ResponseUtil.write(response, result); 10 return null; 11 }