基于DataTables的数据操作demo

后台管理数据的话,常常会用到编辑和删除改行数据。这里基于datatables,做一组demo。

  1. Table Demo
<table id="table_comments_log" class="table table-striped table-bordered table-hover table-condensed" style="width:100%;">
                    <thead>
                        <tr>
                            <th style="text-align: center;">ID</th>
                            <th style="text-align: center;">员工编号</th>
                            <th style="text-align: center;">微信昵称</th>
                            <th style="text-align: center;">员工姓名</th>
                            <th style="text-align: center;">所在门店编号</th>
                            <th style="text-align: center;">所在门店名称</th>
                            <th style="text-align: center;">客户微信头像/昵称</th>
                            <th style="text-align: center;">评价内容</th>
                            <th style="text-align: center;">评价星级</th>
                            <th style="text-align: center;">状态</th>
                            <!-- <th style="text-align: center;">创建时间</th> -->
                            <th style="text-align: center;">更新时间</th>
                            <th style="text-align: center;">备注</th>
                            <th style="text-align: center;">操作</th>
                        </tr>
                    </thead>
                    <tbody>
                    </tbody>
                    <tfoot>
                    </tfoot>
                    <!-- <tr class="kaensoft_tr">
                    </tr> -->
                </table>

  1. 数据的渲染方法 ( 包括编辑和删除按钮的集成 )
 // 初始化表格
                var tables_comments = jQuery('#table_comments_log').DataTable({
                    // dom:"lrtip",           // 隐藏掉自己的搜索框
                    order: [[ 10, "desc" ]],
                    serverSide:true,
                    processing:true,   // 打开信息提醒
                    language: {
                        url: 'http://static.wxkydd.com/libs/datatable/1.10.11/Chinese.json'
                    },
                    ajax: {
                        type:'GET',
                        url: "<?php echo site_url();?>/xk-api/hk/v1/reward/back/comment",
                        // dataSrc:'data',   指定服务端返回的数据源
                        // success:function(res){   调服务端返回的数据源
                        //     console.log(res);
                        // }
                    },
                    // 这里为表格绑定数据
                    "columns": [
                        { data : 'id'},
                        { data : 'employee_display_name'},
                        { data : 'employee_wx_headimg',   // 对服务端返回的数据进行修改(e.g. 1男 2 女)
                            render:function( data, type, full, meta ){
                                return '<img class="wxhead" width="30px" src="' +
                                data + '"><span>' + full.employee_wx_nickname + '</span>';
                            }
                        },
                        { data : 'employee_realname'},
                        { data : 'employee_store_id'},
                        { data : 'employee_store_name'},
                         { data : 'customer_wx_headimg',
                            render:function( data, type, full, meta ){
                                return '<img class="wxhead" width="30px" src="' +
                                data + '"><span>' + full.customer_wx_nickname + '</span>';
                            }
                        },
                        { data : 'comment_content',
                            render: function(data,type){
                                        // if( data.length > 10){
                                            // return data.substr(0,10)+ "......";
                                        // }else{
                                            return data;
                                        // }
                                    }
                        },
                        { data : 'serve_stars'},
                        { data : 'status',
                            render: function(data,type){
                                        if(data == 0){
                                            return '隐藏';
                                        }else{
                                            return '显示';
                                        }
                                    }
                        },
                        // { data : 'create_date'},
                        { data : 'update_date'},
                        { data : 'remark'},
                        { data : null    // 留空给 操作一行用
                        }
                    ],
                    columnDefs:[{   // http://datatables.club/reference/option/columnDefs.html
                        targets: 12,
                        render: function (data, type, row, meta) {
                            var html = '';
                            html += '<a type="button" id="editrow" class="btn btn-info btn-block btn-sm editrows" href="#"  >编辑</a>';
                            html += '<a type="button" id="delrow" class="btn btn-danger btn-block btn-sm" href="#"  >删除</a>'
                            return html;
                        }
                    },
                        { "orderable": false, "targets": 12 },
                    ]
                })
                // 这个是多过滤

  1. 删除的模态框隐藏/显示的控制
  // 顾客评价数据删除
                jQuery('#table_comments_log tbody').on( 'click', 'a#delrow', function () {
                    var data = tables_comments.row( jQuery(this).parents('tr') ).data();
                    var id   = data.id;
                    jQuery('#url').val( id );
                    jQuery("#delcfmModel").modal("show");
                });

  1. 删除的模态框(拷自百度
 <!-- 删除的模态框 -->
        <div class="modal fade" id="delcfmModel">  
          <div class="modal-dialog">  
            <div class="modal-content message_align">  
              <div class="modal-header">  
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>  
                <h4 class="modal-title btn-danger">提示信息</h4>  
              </div>  
              <div class="modal-body">  
                <p>确定删除后,该条数据将不可恢复,是否真的要继续?</p>  
              </div>  
              <div class="modal-footer">  
                 <input type="hidden" id="url"/>  
                 <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>  
                 <a  id="delSubmit" class="btn btn-success" data-dismiss="modal">确定</a>  
              </div>  
            </div><!-- /.modal-content -->  
          </div><!-- /.modal-dialog -->  
        </div><!-- /.modal --> 

  1. 删除api实现
 jQuery('#delSubmit').click(function(){
                    // 拿到隐藏的input的id值
                    var id = jQuery('#url').val();
                    jQuery.ajax({
                            // processing:true,   // 打开信息提醒
                            url: "Your delete api,
                            type: 'DELETE',
                            dataType: 'json',
                            data: {
                               
                            },
                            // success:function(res){
                            //     console.log(res);
                            // }
                        })
                        .done(function(data) {
                            // console.log(data.items)
                            if (data.code == 0) {
                                // alert("删除成功")
                                // 重绘
                                tables_comments.ajax.reload();  
                            };
                        })
                        .fail(function() {
                            alert("error");
                        });
                })

删除做完了,修改就都知道了吧,贴下删除的接口传参。

 //顾客的评价修改页面
                jQuery('#comment-edit-sure').click(function(){
                    // 获取用户输入的信息
                    var id              = jQuery('#comment-id').val();
                    var comment_status  = (jQuery('#comment-status').val() == "显示")?'1':'0';
                    var comment_remark  = jQuery('#comment-remark').val();
                    // console.log( id+comment_status+comment_remark )
                    jQuery.ajax({
                        url: "<?php echo site_url();?>/xk-api/hk/v1/reward/back/" + id,
                        type: 'PUT',
                        dataType: 'json',
                        data: {
                            // id:id, Your data
                            status:comment_status,
                            remark:comment_remark
                        },
                    })
                    .done(function(data) {
                        // console.log(data)
                        jQuery("#myModal").modal("hide");
                        if (data.items != false) {
                            tables_comments.ajax.reload();
                        }else{
                            //console.log(data)
                        };
                    })
                    .fail(function() {
                        alert("error");
                    });
                })

还不是美滋滋

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335