花了不少时间来解决这个问题,做个笔记留个有需要的人。
其实用法很简单,国内的搜到的确实是解决方式,但是太过片面。
大家搜索到的方式有很多,其中不乏提到用fnReloadAjax()的,那我的解决方式也是采用的fnReloadAjax。
具体请看,首先如下代码是一个简单datatables的初始化代码:
var user_table = $('#usertable').dataTable({ // 这边必须要定义变量名,去接受初始化的dataTables
ajax:{
url:"../../user/getAllUser",
type:"post",
cache: false,
data:{
datemin:$("#datemin").val(),
datemax:$("#datemax").val(),
searchUser:$("#searchUser").val()
}
},
sPaginationType: "full_numbers",// 设置分页按钮
'language': {
'emptyTable': '没有数据',
'loadingRecords': '加载中...',
'processing': '查询中...',
'search': '检索: ',
'lengthMenu': '每页 _MENU_ 条',
'zeroRecords': '没有数据',
'paginate': {
'first': '首页',
'last': '尾页',
'next': '下一页',
'previous': '上一页'
},
'info': '第 _PAGE_ 页 / 总 _PAGES_ 页',
'infoEmpty': '没有数据',
'infoFiltered': '(过滤总件数 _MAX_ 条)'
},
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
'bAutoWidth': true,
"searching": false,
"bSort":false,
fnDrawCallback: function(){
var api = this.api();
api.column(1).nodes().each(function(cell, i) {
cell.innerHTML = i + 1;
});
},
aoColumns: [
{"data":id,'sClass': "text-center"},
{"data":password,"sWidth": "100px",'sClass': "text-center"},
{"data":"login_id","sWidth": "10%",'sClass': "text-center"},
{"data":"user_name","sWidth": "10%",'sClass': "text-center"}
]
});
那这边大家都知道,上面的代码要成功,必须去引用JS文件datatables,代码如下:
那关键的来了 我们该如何去刷新,代码大家见的很多,如下
function userSearchBtn() {
user_table.fnReloadAjax(); // 这边的user_table,是由初始化datatables的变量名
}
那这边很多人,在运行后,都会提示:fnreloadajax is not a function,为什么呢?
因为还缺少了一个JS的引入,什么JS文件呢?如下
具体我的CSDN资源下载
CSDN点击下载
没有积分的童鞋,可以去 官网上下载 http://www.datatables.net/plug-ins/api
完成代码如下:
调用方法如下: