tp5+layui实现ajax批量删除

4 篇文章 0 订阅
1 篇文章 0 订阅

批量删除一般都会使用复选框,我们先来实现复选框的 全选和反选

  • 按钮
<button class="layui-btn layui-btn-xs" id="selectAll">全选</button>
<button class="layui-btn layui-btn-xs" id="selectReserve">反选</button>
  • 复选框 (value 为tp5循环的 id)
 <input lay-skin="primary" class="getid" name="checkBoxGroup" type="checkbox" value="{$vo.id}">
  • jquery实现选中渲染 (依赖layui的 form 模块)
layui.use(['form'],
    function() {      
        var form = layui.form;
        $ = layui.jquery;

        //全选
        $("#selectAll").click(function() {
            $(":checkbox[name='checkBoxGroup']").each(function() {
                $(this).prop("checked", true);
                form.render('checkbox');
            });
        });
        //反选
        $("#selectReserve").click(function() {
            $(":checkbox[name='checkBoxGroup']").each(function() {
                $(this).prop("checked", !$(this).prop("checked"));
                form.render('checkbox');
            });
        });
    });
  • 批量删除函数 (将选中的 id 处理为逗号隔开的 字符串 传给后端)
//js删除数组最后一个元素
    function truncate(arr) {
        return arr.slice(0, -1);
    }
    /*-批量删除*/
    function delAll() {
        var str = '';
        $(":checkbox[name='checkBoxGroup']:checked").each(function() {
            str += $(this).val() + ",";
        });
        
        var arr = str.split(',');
        arr = truncate(arr); //删除数组最后一个元素
        var checkde_count=arr.length;
        if (arr.length == 0) {
            layer.msg('请至少选择一项');
            return false;
        }

        layer.confirm('确认要删除这  <b style="color:red;">'+checkde_count+'项</b> 吗?' + '( '+str+')',
            {btn: ['删除', '取消']},
          function(){
            $.post("/index.php/index/Admin/admin_all_del",    
                {data: str},
                function(res) {
                if (res.code > 0) {
                    layer.alert(res.msg, {
                        icon: 2
                    });
                } else {
                    layer.msg(res.msg);
                    setTimeout(function() {
                        window.location.reload();
                    },
                    1000);
               }
            },
            'json');
        });
    }
  • tp后端处理
//批量删除
    public function admin_all_del(){
		//接收参数  
        $map = input();
        $data=$map['data'];
        $data=trim($data,',');
 
        $where = 'id in('.$data.')';  
   
        $list=Db::name('news')->where($where)->delete();
        if($list!==false) {
       	 $this->returnMsg(0, '成功删除'.$list.'项!');
        }else{   
        $this->returnMsg(1, '删除失败');
        } 
       
	}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:LayTab类是一个用于将数据转换成layui需要的数据形式的工具类。它包含了一些属性和方法,用于设置数据的格式和内容。\[1\]引用\[2\]:在具体功能的实现中,页面主要是对所有的信息进行查询,并将其显示出来。利用layui的数据表格来将数据显示在前端的页面上。首先需要在自己的jsp页面上复制layui官网上提供的数据表格代码,并进行相应的修改。\[2\]引用\[3\]:页面主要实现了查询所有、添加书籍、修改书籍、删除书籍、书籍的上下架和模糊搜索等功能。具体流程如下:首先查询数据库中的数据表信息,并将其显示在页面中;然后通过点击添加按钮,弹出层显示添加书籍的表单;接着通过点击修改按钮,弹出层显示修改书籍的表单;再通过点击删除按钮,删除书籍;还可以对书籍进行上下架操作;最后可以进行模糊搜索。\[3\] 根据你的问题,TP5+layui增删改查的实现可以参考以下步骤: 1. 首先需要在TP5中配置数据库连接和相关的模型(Model)。 2. 在控制器(Controller)中编写相应的方法,用于处理增删改查的请求。 3. 在视图(View)中使用layui的数据表格来显示数据,并添加相应的按钮和表单。 4. 在前端页面中,通过ajax请求将数据发送到后端进行处理,并将结果显示在页面上。 5. 根据需要,可以使用TP5的验证器(Validator)来对用户输入的数据进行验证。 6. 在控制器中根据请求的类型(增删改查)来执行相应的操作,并返回相应的结果。 通过以上步骤,你可以实现TP5+layui的增删改查功能。具体的代码实现可以根据你的需求进行相应的调整和修改。 #### 引用[.reference_title] - *1* *2* *3* [layui实现增删改查——图书管理](https://blog.csdn.net/weixin_42381196/article/details/118058698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值