layui实现批量删除并且实时显示删除数量

 1.按钮标签

<button class="layui-btn"  data-type="getCheckData" >批量删除<span class="layui-badge " id="checkedNum">0</span></button>

2.js代码

 getCheckData: function () {
                    //获取选中的数据
                    var checkStatus = table.checkStatus('videoTable'),
                        data = checkStatus.data;
                    if (data == "") {
                        layer.msg("至少要选一个", {icon: 2});
                        return;
                    }
                    //用一个数组来存储要删除的Id值
                    var ids = "";
                    if (data.length > 0) {
                        var l = data.length;
                        for (var i = 0; i < l; i++) {
                            ids += data[i].id + ",";
                        }
                    }

                    //在批量删除最后一页全删之后会显示无数据,所以判断一下是否在最后一页,是否全删除,全删除以后跳转到前一页
                    //获取当前页码
                   var currPage = $(".layui-laypage-skip").find("input").val()
                    //获取分页数据条数
                   var  pageInfo = $(".layui-laypage-limits").find("option:selected").val()
                    //获取总数据条数
                   var  recodeCount = $(".layui-laypage-count").text();
                   var  recodeCount = recodeCount.replace(/[^0-9]/ig,"");
                   //获取总页数
                   var  totalPageNum = Math.ceil(recodeCount/pageInfo);
                   //获取最后一页的数据条数
                   var  lastNum = recodeCount%pageInfo;

                    layer.confirm('确定删除所选的'+l +'个选项吗?', function (index) {
                        $.ajax({
                            type: 'post',
                            url: "video/deleteMany.do",
                            data: {"ids": ids},
                            dataType: 'json',
                            success: function (data) {
                                if (data.code === 0) {
                                        layer.msg('删除成功', {icon: 1});
                                        //当前所在的页码,在最后一页并且全部删除时
                                         if (totalPageNum == currPage && (pageInfo == l||lastNum == l))  {
                                             table.reload('videoTable',{page:{curr:currPage - 1}})
                                         }  else{
                                             $(".layui-laypage-btn").click()
                                         }
                                } else {
                                    layer.msg('删除失败');
                                }
                            },
                            'error': function () {
                                layer.msg('系统错误');
                            }
                        })
                    })
                }
            };

            //.searchDiv为包裹批量删除标签的div的class属性
            $('.searchDiv .layui-btn ').on('click', function(){
                var type = $(this).data('type');
                active[type] ? active[type].call(this) : '';
            });

            //实时显示要删除的条数,test为lay-filter,table标签中的
            table.on('checkbox(test)', function(obj){
                var checkStatus = table.checkStatus('videoTable'),
                    data = checkStatus.data;
                $("#checkedNum").html(data.length);
            });

3.Controller层

 @RequestMapping("/deleteMany.do")
    public JsonResult deleteMany(Integer[] ids){
        videoService.deleteMany(ids);
        JsonResult jsonResult = new JsonResult(0,null);
        return jsonResult;

    }

4.mapper层

<delete id="deleteMany" parameterType="map">
        delete from video where id in
        <foreach  collection="array" item="id" open="(" close=")" separator=",">
            #{id}
        </foreach>
</delete>

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值