SSM整合-删除的全选或者全不选

首先给员工显示的表头添加一个checkbox
这里写图片描述
然后在自动生成的员工信息行的前面也添加一个checkbox
这里写图片描述
然后完成点击表头的checkbox进行全选&全不选

//全选&全不选
    $("#check_all").click(function () {
        /*
        * 如果使用attr来获取check的值返回的是undefined
        * 用prop获取返回的就是true
        * 获取和修改dom原生的属性推荐使用prop,自定义的属性使用attr
        * */
        $(".checkbox_item").prop("checked",$(this).prop("checked"));
    });

这里写图片描述
还有
checkbox_item如果全选则check_all也要选中,反之则不选中

//checkbox_item如果全选则check_all选中,反之则不选中
    $(document).on("click",".checkbox_item",function () {
        //判断当前选中的元素是否和页面显示的记录条数一致
        var flag = $(".checkbox_item:checked").length==$(".checkbox_item").length;
        //如果一致则全部选中了,flag为true,表头的checkbox也要变成选中
        $("#check_all").prop("checked",flag);
    });

这里写图片描述
这个弄好后就该弄删除了
首先给全选的删除按钮添加一个id
这里写图片描述
然后给按钮添加点击事件:

 //点击全部删除,就批量删除
    $("#emp_delete_all_btn").click(function () {
        var empName = "";
        var del_idstr = "";
        //遍历被选中的元素,然后把名字取出来
        $.each($(".checkbox_item:checked"),function () {
            //组装员工名字字符串,每一个名字用 , 分隔开
            empName+=$(this).parents("tr").find("td:eq(2)").text()+",";
            //组装员工id的字符串
            del_idstr+=$(this).parents("tr").find("td:eq(1)").text()+"-";
        });
        //去除empName中多余的,
        empName = empName.substring(0,empName.length-1);
        //去除del_idstr中多余的-
        del_idstr = del_idstr.substring(0,del_idstr.length-1);
        //确认删除
        if (confirm("确认删除"+empName+"吗?")){
            //发送ajax请求删除
            $.ajax({
                url:"${APP_PATH}/emp/"+del_idstr,
                type:"DELETE",
                success:function (result) {
                    alert(result.msg);
                    to_page(currentPage);
                }
            });
        }
    });

然后把Controller层的方法修改为删除单个和删除多个二合一的一个方法:

/*删除员工
      单个删除或者批量删除都可以
      批量删除:1-2-3这种形式
      单个:1
    */

    @ResponseBody
    @RequestMapping(value = "/emp/{ids}",method = RequestMethod.DELETE)
    public Msg deleteEmpById(@PathVariable("ids") String ids){
        //如果含有-就是批量删除
        if (ids.contains("-")){
            List<Integer> del_ids = new ArrayList<>();
            String[] strings = ids.split("-");
            //组装id的集合
            for (String id : strings) {
                del_ids.add(Integer.parseInt(id));
            }
            employeeService.deleteBeath(del_ids);
        }else{
            //反之则是单个删除
            Integer id = Integer.parseInt(ids);
            employeeService.deleteEmp(id);
        }
        return Msg.success();
    }

然后到Service层添加可以删除多个员工的方法deleteBeath()

//批量删除
    public void deleteBeath(List<Integer> del_ids) {
        EmployeeExample employeeExample = new EmployeeExample();
        EmployeeExample.Criteria criteria = employeeExample.createCriteria();
        criteria.andEmpIdIn(del_ids);
        employeeMapper.deleteByExample(employeeExample);
    }

搞定

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值