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') 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM