首页 > 技术文章 > datatable 自定义搜索

xuerong 2018-04-03 17:38 原文

首先一个搜索的input框

      <div class="text-c">
                用户名称:<input type="text" class="input-text" style="width:250px" placeholder="输入用户名称" id="name"
                       name="name">
                <button type="submit" class="btn btn-success" onclick="search()"><i class="icon-search"></i> 搜用户
                </button>
            </div>

给那个按钮一个点击事件onclick="search()"

js如下

 var table;
    function search() {
        table.draw();
    }
    $(function () {
        if (table == null) {
            table = $('.table-sort').DataTable({
                "aaSorting": [[2, "desc"]],//默认第几个排序
                "bStateSave": true,//状态保存
                "serverSide": true,  //启用服务器端分页
                "searching": false,
                "sAjaxSource": "/dataGrid.json",
                "sPaginationType": "full_numbers",      //翻页界面类型
                "oLanguage": {                          //汉化
                    "sLengthMenu": "每页显示 _MENU_ 条记录",
                    "sZeroRecords": "没有检索到数据",
                    "sInfo": "当前数据为从第 _START_ 到第 _END_ 条数据;总共有 _TOTAL_ 条记录",
                    "sInfoEmtpy": "没有数据",
                    "sInfoFiltered":'',//设置为空 相当于删除 (从 _MAX_ 条中过滤)
                    "sProcessing": "正在加载数据...",
                    "oPaginate": {
                        "sFirst": "首页",
                        "sLast": "尾页"
                    }
                },
                "fnServerData": function (sSource, aoData, fnCallback) {
                    aoData.push({"name":"name","value":$("#name").val()})
                    $.ajax({
                        "dataType": 'json',
                        "type": "POST",
                        "url": sSource,
                        "data": aoData,
                        "success": fnCallback
                    });
                },
                //列表表头字段
                "columns": [
                    {
                        "mData": "id",
                        "mRender": function (data, type, full) {
                            return '<input type="checkbox" value="' + data + '" name="checkbox">'
                        }
                    },
                  ...//此处省略
                ]
            });
        }
        table.draw();
    });

加上红色的就可以了。好简单。。我都感到意外了。

推荐阅读