批量删除功能我们经常需要实现,道理很简单,前台向后台传id集合就行。有两种传输方式,一种是通过地址栏参数(后台RequestParam接收),一种是通过 body(后台RequestBody 接收),前者有一个弊端,就是地址栏上传输的字节有限,所以通常我们使用 Post 方式的 RequesyBody 来接收。
代码很简单,直接贴代码
前台代码
后台代码
代码很简单,直接贴代码
前台代码
- //全选或者取消全选
- function DoCheck() {
- var ch = document.getElementsByName("ids");
- if (document.getElementById("allSelect").checked == true) {
- for (var i = 0; i < ch.length; i++) {
- ch[i].checked = true;
- }
- } else {
- for (var i = 0; i < ch.length; i++) {
- ch[i].checked = false;
- }
- }
- }
- //点击批量删除按钮
- $(document).on('click', '#batchRemoveBtn', function () {
- var checkID = [];//定义一个空数组
- $("input[name='ids']:checked").each(function (i) {//把所有被选中的复选框的值存入数组
- checkID[i] = $(this).val();
- });
- alert(JSON.stringify(checkID));
- if (checkID != null && checkID.length > 0) {
- $.ajax({
- type: 'POST',
- url: '/admin/routeA/batchRemove',
- data: JSON.stringify(checkID),
- dataType: 'json',
- contentType:'application/json',
- success: function (data) {
- if (data.code == 1) {
- showMsg(data.msg, "success", 1000);
- } else {
- showMsg(data.msg, "error", 1000);
- }
- }
- });
- }
- })
后台代码
- /**
- * 处理批量删除
- *
- * @param ids RouteA编号列表
- * @return 重定向到/admin/routeA
- */
- @PostMapping(value = "/batchRemove")
- @ResponseBody
- public JsonResult batchRemoveRouteA(@RequestBody String ids) {
- JSONArray json = JSONArray.parseArray(ids);
- List<Long> list = new ArrayList<>();
- for (int i = 0; i < json.size(); i++) {
- list.add(Long.parseLong((String) json.get(i)));
- }
- try {
- if (list != null && list.size() > 0) {
- routeAService.removeByIds(list);
- }
- } catch (Exception e) {
- log.error("批量删除RouteA失败:{}", e.getMessage());
- return new JsonResult(ResultCodeEnum.FAIL.getCode(), "删除失败");
- }
- return new JsonResult(ResultCodeEnum.SUCCESS.getCode(), "删除成功");
- }
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏