【发布时间】:2014-07-15 12:18:10
【问题描述】:
我有以下代码,它根据输入到文本输入中的内容成功过滤数据表的结果。
$('.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();
}
}
});
【问题讨论】:
-
您能否设置一个 JS Fiddle 链接,以便了解您的问题,同时指定您使用的版本。最新版本可能会解决此类问题。
-
检查该过滤器是否发生然后 tr 被删除或它只是隐藏。如果隐藏则行为是正确的。
-
你是用Datatable的分页还是自定义写的?
-
@Jai 正在删除 tr。
-
什么版本的数据表?我高度怀疑这个问题与服务器端设置有关。尝试升级。
标签: jquery pagination datatables jquery-datatables