我使用DataTable通过serverSide模式和ajax显示我的数据。
一切都还好,但分页不起作用。DataTable分页不起作用
您可以查看代码如下:
HTML:
<table id="table" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<td>ID</td>
<td>First name</td>
<td>Last name</td>
<td>Email</td>
</tr>
</thead>
<tbody></tbody>
</table>
的Javascript:
$(document).ready(function() {
$('#table').DataTable({
serverSide: true,
ajax: {
url: '<?php echo base_url(); ?>folder/class/method'
},
processing: true,
scrollY: 370,
paging: true,
bJQueryUI: true
});
});
,从服务器(JSON
)返回如下数据:
{
"draw": 1,
"recordsTotal": 1208,
"recordsFiltered": 10,
"data": [
["1", "pando", "rewar", "[email protected]"],
["2", "chori", "raon", "[email protected]"],
["3", "Gorbat", "horiz", "[email protected]"],
["4", "martin", "sokza", "[email protected]"],
["5", "dooz", "solda", "[email protected]"],
["6", "maro", "meza", "[email protected]"],
["7", "nod", "ion", "[email protected]"],
["8", "kaz", "loob", "[email protected]"],
["9", "Barbara", "Elliott", "[email protected]"],
["10", "Kendall", "Nathaniel", "[email protected]"]
]
}
DataTable的所有组件都正常工作,但分页没有。
我猜测它与你有关,使用该顶部下拉菜单将结果设置为25。它的底部显示25个条目中的25个,从1208中过滤出来。它应该显示120个中的25个。 – Mike
@Mike:很好,但现在的问题是'recordsTotal'和'recordsFiltered'从中获取数据同一来源。我认为'recordsTotal' =表中的所有行(例如:1208)和'recordsFiltered' =一次显示的数据(例如:25)。但现在我改变了相同的来源(例如:1208)。 –