当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel框架实现的批量删除功能示例

发布:smiling 来源: PHP粉丝网  添加日期:2021-11-04 10:13:09 浏览: 评论:0 

这篇文章主要介绍了Laravel框架实现的批量删除功能,结合实例形式分析了Laravel框架批量删除功能相关的前端界面布局及后台控制器实现技巧,需要的朋友可以参考下。

本文实例讲述了Laravel框架实现的批量删除功能,分享给大家供大家参考,具体如下:

1、HTML的内容

  1. <tr> 
  2.     <th><input type="checkbox" class="checkbox-inline" onclick="checkAll(this)"></th>  // 用来全选 
  3.   </tr> 
  4.   </thead> 
  5.   <tbody> 
  6.   @foreach ($keys as $key) 
  7.     <tr> 
  8.       <td><input type="checkbox" class="ck checkbox-inline" name="item[]" value="{{ $key->id }}"></td>  // 复选框 
  9.     </tr> 
  10.   @endforeach 
  11.   <a style="font-size: 15px;" id="delAll" type="button" class="btn btn-primary" onclick="delKeys()">批量删除</a> 
  12.   </tbody> 

2、js的内容

  1. // 全选 
  2. var ck = $('.ck'); 
  3. function checkAll(qx) 
  4. { 
  5.   if (qx.checked) { 
  6.     for (var i=0; i<ck.length; i++) {     // 实现全选 
  7.       ck[i].setAttribute("checked", "checked"); 
  8.     } 
  9.   } else { 
  10.     for (var i=0; i<ck.length; i++) {     // 取消全选 
  11.       ck[i].removeAttribute("checked"); 
  12.     } 
  13.   } 
  14. } 
  15. // 批量删除 
  16. function delKeys() 
  17. { 
  18.   var items = []; 
  19.   for (var i=0; i<ck.length; i++) { 
  20.     if (ck[i].checked) { 
  21.       items.push(ck[i].value);    // 将id都放进数组 
  22.     } 
  23.   } 
  24.   if (items == null || items.length == 0)    // 当没选的时候,不做任何操作 
  25.   { 
  26.     return false; 
  27.   } 
  28.   layer.confirm('您确定要删除我们吗?', { 
  29.     btn: ['确定', '取消'], 
  30.   }, function() { 
  31.     $.post("{{ url('key/delAll') }}", { 
  32.       "_token": "{{ csrf_token() }}", 
  33.       "keys": items 
  34.     }, function(data) { 
  35.       if (data.status == 0) { 
  36.         layer.msg(data.msg, { icon: 6}); 
  37.         location.href = location.href; 
  38.       } else { 
  39.         layer.msg(data.msg, { icon: 5}); 
  40.       } 
  41.     }); 
  42.   }, function() {}); 

3、控制器中的内容

  1. public function delAll(Request $request) 
  2. { 
  3.      for ($i=0; $i<count($request['keys']); $i++) { 
  4.        $res = Key::where('id', $request['keys'][$i])->update(['isDelete' => 1]);  // 遍历删除 
  5.      } 
  6.      if ($res) { 
  7.        $data = [ 
  8.          'status' => 0, 
  9.          'msg' => '删除成功' 
  10.        ]; 
  11.      } else { 
  12.        $data = [ 
  13.          'status' => 1, 
  14.          'msg' => '删除失败' 
  15.        ]; 
  16.      } 
  17.      return $data; 
  18. }

Tags: Laravel批量删除

分享到: