zoukankan      html  css  js  c++  java
  • jQuery+ajax实现批量删除功能完整示例

    这篇文章主要介绍了jQuery+ajax实现批量删除功能,结合完整实例形式分析了jQuery+ajax结合bootstrap与layer.js插件实现的批量删除与交互功能相关操作技巧,需要的朋友可以参考下

    完整代码如下:

    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
      <title>Ding Jianlong Html</title>
      <link href="https://cdn.bootcss.com/bootstrap/4.1.0/css/bootstrap.min.css" rel="external nofollow" rel="stylesheet">
      <link href="https://cdn.bootcss.com/layer/2.4/skin/layer.min.css" rel="external nofollow" rel="stylesheet">
    </head>
    <body>
     <div class="container">
     <button class="btn btn-danger radius" onClick="batch_del()" style='margin:10px;'>批量删除</button>
       <table style=" 500px;" class="table table-striped table-hover table-bordered">
      <thead>
      <tr>
       <th scope='col' width="25"><input type="checkbox" value="" name="selectall"></th>
       <th scope='col' width="80">ID</th>
       <th scope='col' >标题</th>
      </tr>
      </thead>
      <tbody>
      <tr>
       <td><input type="checkbox" value="10001"></td>
       <td>10001</td>
       <td >标题1</td>
      </tr>
      <tr>
       <td><input type="checkbox" value="10002"></td>
       <td>10002</td>
       <td >标题2</td>
      </tr>
      <tr>
       <td><input type="checkbox" value="10003"></td>
       <td>10003</td>
       <td >标题3</td>
      </tr>
      <tr>
       <td><input type="checkbox" value="10004"></td>
       <td>10004</td>
       <td >标题4</td>
      </tr>
      <tr>
       <td><input type="checkbox" value="10005"></td>
       <td>10005</td>
       <td >标题5</td>
      </tr>
      </tbody>
     </table>
     </div>
    <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/4.1.0/js/bootstrap.min.js"></script>
    <script src="https://cdn.bootcss.com/layer/2.4/layer.min.js"></script>
    <script>
     /*批量选中的效果*/
     $('input:checkbox[name="selectall"]').click(function(){
     if($(this).is(':checked')){
         $('input:checkbox').each(function(){
        $(this).prop("checked",true);
      });
        }else{
          $('input:checkbox').each(function(){
        $(this).prop("checked",false);
      });
        }
     });
     /*获取ids,批量删除*/
      function batch_del() {
        var ids = '';
        $('input:checkbox').each(function(){
          if(this.checked == true){
            ids += this.value + ',';
          }
        });
        //layer.alert(ids);return;
        //下面的ajax根据自己的情况写
        layer.confirm('批量删除后不可恢复,谨慎操作!', {icon: 7, title: '警告'}, function (index) {
          $.ajax({
            type: 'POST',
            url: '你的url地址?ids=' + ids,
            data: {"1": "1"},
            dataType: 'json',
            success: function (data) {
              if (data.code == 200) {
                $(obj).parents("tr").remove();
                layer.msg(data.message, {icon: 1, time: 1000});
              } else {
                layer.msg(data.message, {icon: 2, time: 3000});
              }
            },
            error: function (data) {
              console.log(data.msg);
            },
          });
        });
      }
    </script>
    </body>
    </html>

    转载 :https://www.jb51.net/article/162628.htm

    -------------------------------------------------------------------自己项目------------------------------------------------------------------------------------------------------------------

    <include file="public@header" />
    </head>
    <body>
    <div class="wrap js-check-wrap">
        <ul class="nav nav-tabs">
            <li class="active"><a href="{:url('order/index')}">订单列表</a></li>
            <li><a href="{:url('order/add')}">订单添加</a></li>
        </ul>
    
    
        <form class=" well form-inline margin-top-20" method="get" action="{:url('order/index')}">
            接龙名称:
            <input type="text" class="form-control" name="name" style=" 250px;" value="{$name}" placeholder="请输入接龙名称/超市名称">
    
         
            <input type="submit" class="btn btn-primary" value="搜索" />
            <a class="btn btn-danger" href="{:url('order/index')}">清空</a>
            <a class="btn btn-info" href="{:url('order/order_list')}">订单历史记录</a>
        </form>
    
    
    
    <button class="btn btn-danger radius" onClick="batch_del()" style='margin:10px;'>批量删除</button>
        <table class="table table-hover table-bordered">
            <thead>
            <tr>
                <th width="60">
                        <input type="checkbox" value="" name="selectall">
                 </th>
                                <th width="60">id</th>
    
                                <th width="60">接龙名称</th>
                                <th width="60">超市名称</th>
    
                        
                                <th width="60">产品名称</th>
                                <!--<th width="60">用户名</th>-->
    
                                <th width="60">数量</th>
                                <th width="60">添加时间</th>
    
                             
    
                            <th width="60">操作</th>
            </tr>
            </thead>
            <tbody>
            
                 <foreach name="data" item="vo">
                <tr>
                    <td>
                          <input type="checkbox" value="{$vo['id']}" name="ids[]">
                        </td>
                                        <td>{$vo.id}</td>
                                        <td>{$vo.jl_name} </td>
    
                                  
    
                                        <td>
                                           
                                           {$vo.jl_market_name}
                                        
                                  
                                        </td>
                                        <td> {$vo.jl_product_name}</td>
                                        <!--<td> {$vo.jl_user_name}</td>-->
    
                                        <td> {$vo.jl_order_num}</td>
                                        <td> {$vo.create_time}</td>
    
    
                                    <td>
                           <!--<a class="btn btn-xs btn-primary" href="{:url('order/edit',array('id'=>$vo["id"]))}">编辑</a>-->
                                <a class="btn btn-xs btn-danger js-ajax-delete" href="{:url('order/delete',array('id'=>$vo["id"]))}">删除</a>
    
                    </td>
                </tr>
                
            </foreach>
             
            </tbody>
        </table>
         <div class="pagination">{$page}</div>
        
          <table class="table table-hover table-bordered">
            <thead>
            <tr>
                                <th width="60">当日产品名称</th>
                                <th width="60">当日产品总数量</th>
                                <th width="60"></th>
            </tr>
            </thead>
            <tbody>
             <foreach name="arr" item="arrvo">
                <tr>
                                        <td>
                                           {$arrvo.jl_product_name}
                                        </td>
                                        <td> {$arrvo.num}</td>
                                        <td> </td>
                </tr>
                  </foreach>
            </tbody>
            
            
        </table>
        
    </div>
    <script src="/static/js/admin.js"></script>
    <script src="/static/layer/layer.js"></script>
    
    <script>
         /*批量选中的效果*/
         $('input:checkbox[name="selectall"]').click(function(){
             if($(this).is(':checked')){
                 $('input:checkbox').each(function(){
                     $(this).prop("checked",true);
                 });
             }else{
                 $('input:checkbox').each(function(){
                     $(this).prop("checked",false);
                 });
             }
         });
         /*获取ids,批量删除*/
         function batch_del() {
             var ids = '';
             
             $('input:checkbox').each(function(){
                 if(this.checked == true){
                     ids += this.value + ',';
                 }
             });
             
             if(ids == ''){
                 layer.alert('请选择删除项');return;
             }
            // layer.alert(ids);return;
    
             // str="2,2,3,5,6,6"; //这是一字符串
             // var strs= new Array(); //定义一数组
             // strs=str.split(","); //字符分割
            
             var strs_ids= new Array();
             var str_1 = ids.replace(/s*/g,"");//去掉空格-字符串
             var str_2 = str_1.replace(/^,+/,"").replace(/,+$/,""); //去掉首尾逗号
             //console.log(str_2);return;
             strs=str_2.split(",");
             
             for (i=0;i<strs.length ;i++ )
             {
                //分割后的字符输出
                 strs_ids.push(strs[i]);
             }
             
            // return;
             //下面的ajax根据自己的情况写
          
             layer.confirm('批量删除后不可恢复,谨慎操作!', {icon: 7, title: '警告'}, function (index) {
                 $.ajax({
                     type: 'post',
                     url: "{:url('order/delete_pl')}",
                     data: {ids:strs_ids},
                     dataType: 'json',
                     success: function (data) {
    
                         //console.log(data);
                         if (data.code == 200) {
                           //  $(obj).parents("tr").remove();
                             layer.msg(data.message, {icon: 1, time: 1000},function () {
                                 window.location.reload();
                             });
                            
                         } else {
                             layer.msg(data.message, {icon: 2, time: 3000},function () {
                                 window.location.reload();
                             });
                         }
                     },
                     error: function (data) {
                         console.log(data.msg,function () {
                             window.location.reload();
                         });
                     },
                 });
             });
         }
    </script>
    </body>
    </html>
    </body>
    </html>

    后台接受参数

    public function delete_pl()
        {
            if(request()->isPost()){
                $ids = input('post.');
               // dump($ids['ids']);
                foreach ($ids['ids'] as $k => $v){
    
                   // dump($v);
                   $this->delete_all($v);
                }
              return json(['code'=>200,'message'=>'删除成功']);
            }
    
        }
    
        public function delete_all($id='')
        {
            $navModel = new OrderModel();
            $intId    =$id;
    
            if (empty($intId)) {
                $this->error(lang("NO_ID"));
            }
    
    
            //dump($intId);die;
            $delivery_order_detail_info = DB::name("delivery_order_detail")->where("id", $intId)->find();
    
            $product_num = $delivery_order_detail_info['product_num'];
            $product_price = $delivery_order_detail_info['product_price'];
    
            $change_price = $product_num * $product_price;
    
    
    //         // score 字段减 5
    //         Db::table('think_user')->where('id', 1)->setDec('score', 5);
            $delivery_order_info =DB::name("delivery_order") ->where("id", $delivery_order_detail_info['delivery_order_id'])->find();
    
            $product_sum_num = $delivery_order_info['product_sum_num'] - $product_num; //删除后的总数量
            $product_sum_price = $delivery_order_info['product_sum_price'] - $change_price; //删除后的总价格
    //
    //        DB::name("delivery_order")
    //            ->where("id", $delivery_order_detail_info['delivery_order_id'])
    //            ->update(['product_sum_num'=>$product_sum_num,'product_sum_price'=>$product_sum_price]);
    
            DB::name("delivery_order")
                ->where("id", $delivery_order_detail_info['delivery_order_id'])
                ->delete();
            DB::name("delivery_order_detail")->where("order_id", $intId)->delete();
    
            $navModel->where("id", $intId)->delete();
           // $this->success(lang("DELETE_SUCCESS"), url("order/index"));
    
        }
  • 相关阅读:
    收藏的博客
    MVC 之 System.Web.Optimization找不到引用
    SQL Server 之 附加数据库出现“ 拒绝访问 ”
    Android Studio 之 环境搭建
    PD 之 连接数据库并导出数据及生成PDM文件
    Windows 之 可以Ping通服务器但无法使用服务器连接的共享打印机
    JQuery 之 在数据加载完成后才自动执行函数
    JavaScript 之 动态加载JS代码或JS文件
    JQuery 之 动态加载JS或JS文件
    JavaScript 之 解码类似eval(function(p,a,c,k,e,d){}))的JavaScript代码
  • 原文地址:https://www.cnblogs.com/yehuisir/p/12993387.html
Copyright © 2011-2022 走看看