2014-07-15 74 views
0

我有以下代碼,它根據輸入到文本輸入中的內容成功過濾數據表的結果。jQuery Datatable在過濾後不更新分頁信息

$('.search-query').keyup(function(e) { 
    my_table.fnFilter($(this).val()); 
}); 

但是,這並不會改變分頁信息,所以儘管只顯示3個結果,仍然會說11個頁面有1005個記錄。

是否有另一種方法來實現這與更新的分頁?

編輯:

這裏是我的代碼來構建表...

my_table = $('.my_table').dataTable({ 
    "sPaginationType": "bootstrap", 
    "iDisplayLength": 100, 
    "iDisplayStart": 0, 
    "bProcessing": true, 
    "bServerSide": true, 
    "sServerMethod": "POST", 
    "sAjaxSource": "/get/my/table/data", 
    "bSortable": "true", 
    "sDom": '<"top">rt<"bottom"ip><"clear">', 
    "aaSorting": [], 
    "aoColumns": [ 
     { "bSearchable": true, "bSortable": true}, 
     { "bSortable": true,}, 
     { "bSortable": true}, 
     { "bSortable": true}, 
     {"bSortable": true}, 
     {"bSortable": true}, 
     {"bSearchable": true, "bSortable": true}, 
    ], 
    "oLanguage": { 
     "sEmptyTable": "No Results Found" 
    }, 
    fnDrawCallback: function(){ 
     if($('.dataTables_paginate ul li').length <= 3) 
     { 
      $('.dataTables_paginate').hide(); 
     } 
     else 
     { 
      $('.dataTables_paginate').show(); 
     } 
    } 
}); 
+0

可以請設置一個JS小提琴鏈接,這將是有益瞭解您的問題,並指定您正在使用的版本。最新版本可能會解決這類問題。 –

+0

檢查過濾器是否發生,然後tr被刪除或只是隱藏。如果隱藏,那麼行爲是正確的。 – Jai

+0

你使用Datatable的分頁還是自定義書寫? –

回答

0

嘗試更新表使用

$('.search-query').keyup(function(e) { 
    my_table.fnFilter($(this).val()).fnUpdate({}); 
}); 
+0

這不起作用......我認爲這個問題是由於通過ajax加載數據造成的。 – Tom