DataTables添加额外的查询参数和删除columns等无用参数

Posted 追极

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DataTables添加额外的查询参数和删除columns等无用参数相关的知识,希望对你有一定的参考价值。

//1.定义全局变量
var iStart = 0, searchParams={};

//2.配置datatable的ajax配置项
"ajax": {
           "url": "/user/query",
           "type": "POST",
           //动态请求参数设置,会应用到每次请求
           "data": function (d) {
               //删除多余请求参数
               for(var key in d){
                   if(key.indexOf("columns")==0||key.indexOf("order")==0||key.indexOf("search")==0){ //以columns开头的参数删除
                       delete d[key];
                   }
               }
               //附加查询参数
               if(searchParams){
                   $.extend(d,searchParams); //给d扩展参数
               }
           },
           //数据源处理(当数据加载完毕时触发)
           "dataSrc": function ( json ) {
               iStart = json.start + 1; //起始行号
               return json.data;
           }
       }

//3.查询按钮绑定点击事件
    /**
     * 搜索
     */
    $(‘.search‘).click(function () {
        reloadTable();
    });

//4.刷新表格方法
/**
 * 重新加载表格,刷新页码
 */
function reloadTable() {
    //希望搜索一次附加参数,修改搜索条件后,如果不点击搜索按钮,切换页码仍使用上次参数
    var number = $("#number").val();
    var name = $("#name").val();
    searchParams.number = number;
    searchParams.name = name;

    var table = $(‘#userTable‘).DataTable();
    table.ajax.reload();
}

//5.刷新表格,页码不变方法
/**
 * 刷新表格,不改变页码
 */
function  refreshTable() {
    var table = $(‘#userTable‘).DataTable();
    table.draw(false);
}

//6.跳页实现
$(‘#example‘).DataTable().page(5).draw(false)
或者
$(‘#example‘).DataTable().page(5).draw(‘page‘) 

 

以上是关于DataTables添加额外的查询参数和删除columns等无用参数的主要内容,如果未能解决你的问题,请参考以下文章

Datatables post 动态提交数据(传参数) 异步数据(ajax.data)

使用DataTables的服务器分页

jquery DataTables 哪个参数是设置准确查询?不想模糊查询

Laravel Datatables ajax无法发送参数进行查询

将表数据添加到可编辑的 DataTables 会删除过滤器

如何删除 jQuery DataTables 插件添加的搜索栏和页脚?