删除功能

单个删除

list.jsp中的<a href="javascript:void(0);" class="delete">删除</a>。发起删除请求。其中,class="delete" 这里定义了一个 class 属性。这里的class不是真的要写css代码,而是一个【标记】属性。什么意思?看后面的代码。

删除事件:

 //单个删除
$(".delete").click(function(){
	var id= $(this).parents("tr").find("td:eq(1)").text();
	if (confirm("确定删除ID为" + id + "的记录吗?")) {
	    location.href = "${ctx}/emp/delete/" + id;
	}
});
  • 通过$(this).parents("tr").find("td:eq(1)").text()找到删除按钮所在行的id值。

全选/全不选

id="checkAll" 表示全选的复选框。
class="checkItem" 也是一个标识,用来处理事件的。

全选事件:

//点击全选框,选中其他复选框
$("#checkAll").click(function () {
	$(".checkItem").prop("checked", $(this).prop("checked"));
});

jQuery的attrprop的区别:
只具有truefalse两个属性的属性,如 checked、selected、disabled 使用prop(),其他的使用attr()

当页面上单独的复选框都选中,全选框也要被选中

 //选中其他复选框满五,全选框被选中
$(".checkItem").click(function () {
    //判断当前选择中的元素是否5个
    var flag = $(".checkItem:checked").length == $(".checkItem").length;
    $("#checkAll").prop("checked", flag);
});

这两个事件加在一起,才是完整的【全选/全不选】。

批量删除

 //批量删除
$("#batchDel").click(function () {
    var ids = "";   //拼接id
    var count = 0;  //统计选中的个数
    $.each($(".checkItem:checked"), function (index, item) {
        ids += item.value + "-";
        count++;
    });
    ids = ids.substring(0, ids.length - 1);
    if (count > 0) {
        if (confirm("确定删除ID为" + ids + "的记录吗?")) {
            location.href = "${ctx}/emp/delete/" + ids;
        }
    } else {
        alert("请选中要删除的记录!");
    }
});

后端的处理:单个删除/批量删除 写在一个方法中。

@RequestMapping("/emp/delete/{ids}")
public String delete(@PathVariable String ids) {
    //批量刪除
    if (ids.contains("-")) {
        List<Long> list = new ArrayList<>();
        String[] arr = ids.split("-");
        for (String str : arr) {
            //类型转换
            Long id = Long.parseLong(str);
            list.add(id);
        }
        empService.batchDelete(list);
    }
    //单个刪除
    else {
        //类型转换
        Long id = Long.parseLong(ids);
        empService.deleteEmp(id);
    }
    return "redirect:/emps";
}

批量删除的业务方法:

public void batchDelete(List<Long> ids) {
    EmpExample example = new EmpExample();
    example.createCriteria().andIdIn(ids);
    empMapper.deleteByExample(example);
}

转载于:https://my.oschina.net/mondayer/blog/3035246

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值