最近调优后台,有个动态更新Datatables的逻辑,之前添加更新Datatables后,总停留在第一页,用户体验一般,所以想实现显示最后一页。
搜了下,实现代码如下:
$('#datatable').DataTable().page('last').draw[......]
最近调优后台,有个动态更新Datatables的逻辑,之前添加更新Datatables后,总停留在第一页,用户体验一般,所以想实现显示最后一页。
搜了下,实现代码如下:
$('#datatable').DataTable().page('last').draw[......]
新版变动了一些API的引用方式,不多说,直接上代码:
dbconfig就是datatable的配置json。
data.data是要重绘到表格的json,示例格式参考:https://datatables.net/examples/data_sources/ajax.[……]
这个其实就是个设置的参数,参数中包含对应部分的翻译既可,初始化的时候用,示例代码:
$(document).ready(function() {
$('#example').DataTable( {
"language[......]
以下提供DataTables 旧版本的中文参数:
"oLanguage": {
"sLengthMenu": "每页显示 _MENU_ 条记录",
"sZeroRecords&quo[......]
不多说,原始翻页按钮配合bootstrap挺好,不过没有输入框跳转,而官方插件感觉又不是那么舒爽,所以改了改,初始代码如下:
var dataTables=$('.dataTables').dataTable({
"fnDrawCallb[......]
获取到json数据后,需要对表格进行重绘,实现代码如下:
DataTables.api().destroy();
dataTableconfig.aaData=jsondata;
DataTables=$('.DataTables').dataTabl[......]
分新旧差异,旧的参数是iDisplayStart,第三页就是iDisplayStart:20。
新版参数是displayStart。在绘制DataTables前,初始化这个参数就可以实现重绘的时候,表格页数不变。参考:https://datatab[……]
排序的方法:
<?php
$postorder=$_POST['order'];
$field=$postorder[0]["column"];$ordertype=$postorder[0]["dir"][......]
有时数据量太大,不走AJAX载入页面会卡,所以研究了下AJAX的方法和实现。
这玩意儿其实官方说明文档挺清楚的,后来发现国内还有中文版的,所以文末附上链接,有兴趣的自己研究下。
JS方面,dataTable方法里加入参数:
"processing"[......]
$('.dataTables-example').dataTable({
responsive: true,
"dom": 'T<[......]