后台用户模块——删除和批量删除


1.添加删除用户链接

            //点击删除按钮,执行onclick事件的member_del()方法,传入当前用户的id
            <a title="删除" onclick="member_del(this,{{ $v->user_id }})" href="javascript:;">
              <i class="layui-icon">&#xe640;</i>
            </a>

2.编写删除操作的onclick事件的member_del()方法

    //用户删除
    function member_del(obj, id) {
      layer.confirm('确认要删除吗?', function(index) {
        //$.post(请求的网址,发送方式,携带的token,要返回的数据)
        $.post('/admin/user/'+id,{"_method":"delete","_token":"{{csrf_token()}}"},function(data){
          console.log($data);
        });
      });
    }

3.执行删除用户控制器方法,接收删除路由传递过来的用户id,执行删除操作,并返回给客户端

    //执行一个用户删除操作
    public function destroy($id)
    {
        //根据删除路由传过来的用户id,查出对应的数据
        $user = User::find($id);
        //执行删除操作
        $res = $user->delete();
        //根据删除操作结果,给客户端返回json格式的数据
        if ($res) {
            $data = [
                'status'=>0,
                'message'=>'删除成功'
            ];
        }else{
            $data = [
                'status'=>1,
                'message'=>'删除失败'
            ];
        }
        return $data;        

    }

4.前台ajax接收服务端返回的数据

        function(data){
          //console.log($data);
          if (data.status ==0) {
            //移除当前元素
            $(obj).parents("tr").remove();
            //layer弹层给提示信息和笑脸图标,1000毫秒后关闭
            layer.msg(data.message, {icon: 6,time: 1000});
          }else{
            //layer弹层给提示信息和哭脸图标,1000毫秒后关闭
            layer.msg(data.message, {icon: 5,time: 1000});
          }

5.批量删除用户

  • 将每个用户数据前面的复选框添加一个data-id属性
          <td>
            <div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='{{ $v->user_id }}'><i class="layui-icon">&#xe605;</i></div>
          </td>
  • 给批量删除按钮添加点击事件
      <button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量删除</button>
  • 编写点击事件
    function delAll(argument) {
      //定义空数组用来放置要批量删除的用户的id
      var ids = [];
      //选中所有属性为layui-form-checked的复选框,遍历并获取它们的data-id
      $(".layui-form-checked").not('.header').each(function(i,v){
      //将获取的data-id保存起来
        var u = $(v).attr('data-id');
        //将获取的data-id的值push到所有用户ids数组中
        ids.push(u);
      });

      layer.confirm('确认要删除吗?', function(index) {
        //以get方式发送到admin/user/del,携带所有要删除的用户id,返回data数据
        $.get('/admin/user/del',{'ids':ids},function(data) {
 
        });
      });
    }
  • 创建批量删除用户路由
    //批量删除用户路由
    Route::get('user/del', 'UserController@delAll'); 
  • 创建批量删除用户控制器方法
    //批量删除所有选中用户
    public function delAll(Request $request)
    {
        //获取到所有选中用户的ids
        $input = $request->input('ids');
        //执行删除操作
        $res = User::destroy($input);
        //根据删除操作结果,给客户端返回json格式的数据
        if ($res) {
            $data = [
                'status'=>0,
                'message'=>'删除成功'
            ];
        }else{
            $data = [
                'status'=>1,
                'message'=>'删除失败'
            ];
        }
        return $data;  
    }
  • 批量删除用户控制器方法给客户端返回数据
      function(data) {
          if (data.status ==0) {
            //移除当前元素
            $(".layui-form-checked").not('.header').parents('tr').remove();
            layer.msg(data.message, {icon: 6,time: 1000});
          }else{
            layer.msg(data.message, {icon: 5,time: 1000});
          } 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM