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"));
    
        }
  • 相关阅读:
    ASP.NET MVC案例——————拦截器
    Windows Azure Virtual Network (10) 使用Azure Access Control List(ACL)设置客户端访问权限
    Windows Azure Storage (20) 使用Azure File实现共享文件夹
    Windows Azure HandBook (5) Azure混合云解决方案
    Windows Azure Service Bus (6) 中继(Relay On) 使用VS2013开发Service Bus Relay On
    Azure PowerShell (9) 使用PowerShell导出订阅下所有的Azure VM的Public IP和Private IP
    Windows Azure Service Bus (5) 主题(Topic) 使用VS2013开发Service Bus Topic
    Azure China (9) 在Azure China配置CDN服务
    Windows Azure Storage (19) 再谈Azure Block Blob和Page Blob
    Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 原文地址:https://www.cnblogs.com/yehuisir/p/12993387.html
Copyright © 2011-2022 走看看