php ajax+jQuery 实现批量删除功能

这篇文章主要介绍了PHPjQuery+Ajax结合写批量删除功能的相关资料, 需要的朋友可以参考下
为了美观,我还是引入了layui的模态框
整个页面我就不写了 比较简单

需要的按钮

<button  class="layui-btn layui-btn-danger  del_all">
<i class="layui-icon"></i>批量删除</button>

遍历出来的复选框为

<input  id="box"  name="check" type="checkbox"   value="{{$v->user_id}}" lay-skin="primary">

这样前端的内容就完成了,这样就开始写js部分了,我全部用的是jquery

重点:做批量删除,重点是获取到复选框的id值,获取到后,将选中的值for循环拼接即可

 $(document).on("click",".del_all",function(){
          //根据 name值 获取复选框的元素
        var check = document.getElementsByName("check");
        var str="";//定义一个空的值
        	  		 
       //根据循环将选中的值 用逗号拼接一下 拼接所有的id,
       //注意:值如果取不出来的话,看看checkbox有没有书写
       //value值,至关重要选中的值用逗号拼接一下,
 		//循环判断哪些复选框是选中
 		 //获取length它的长度
        for (i=0;i<check.length;i++) { 
            if (check[i].checked == true) {             
                str += "," + check[i].value;
            }
        }
          alert(str);
          //id获取到可以打印一下看看
          //id取到了,底下ajax与之前一样    
        var ids = str.substr(1);  //截取字符串 去掉
        //alert(ids);
        layer.confirm('确认要删除吗?',function(index){
			   layer.confirm('确认要删除吗?',function(index){
                    //调用ajax
                    var urll="http://www.laravele.com/admin/user/del";
                    $.ajax({
                         url:urll,
                        data:{ids:ids},
                        dataType:"json",
                        type:"GET",
                        success:function(res){
                             if(res.code==200){
                                 layer.msg(res.msg,{icon:6,time:1000});
                                 location.reload()//刷新页面
                             }else{
                                 layer.msg(res.msg,{icon:5,time:1000});
                             }
                        }
                    })
                })
        });

后台laravel框架控制器代码

 public function delAll(Request $request)
    {
        $id=$request->input();
        // dd($id);
        $id = implode(",",$id);//把数组元素组合为一个字符串
        $id=explode(",",$id); //将字符串转化为数组
        $res=User::destroy($id);
        if ($res) {
            $data=['code'=>200, 'msg'=>'删除成功'];
        } else {
            $data=['code'=>201, 'msg'=>'删除失败'];
        }
        return $data;
    }

第二种方式:

 
  {{$v->user_id}}" lay-skin="primary">
 
   function delAll(){  批量删除的方法
                var ids=[];
                $(".layui-form-checked").not('.header').each(function(i,v){
                        var u=$(v).attr('data-id');
                       ids.push(u);
                })

你可能感兴趣的:(laravel框架)