官网:https://datatables.net/
中文站:http://www.datatables.club/
下载源码:https://datatables.net/download/index
为啥会选择使用DataTables呢?其官网上说了它很多出众的特性,当然其涵盖了大部分的表格操作的功能,但是其API封装的并不是太友好,新老版本混杂,使用起来相当混乱,额外增加的请求参数过多且没有良好的说明。
由于项目组急需一款ajax方式的分页表格,虽然API不友好,但是功能满足,顾选择了它。
选用的是最新的版本:1.10.16
注意:1.10.x版本和1.9.x版本,请求后台返回的字段是不同的。
1.10.x 版本返回的是 :recordsTotal和recordFiltered
1.9.x 版本返回的是:iTotalRecords和ITotalDisplayRecords
否则在页面使用MAX 和TOTAL的时候会是NAN
使用ajax做参数post的时候,提交form表单和提交json格式的是有区别的
1 提交form
"ajax":{
"url":url,
"type":"POST",
data:function(d){
var start = d.start==0 ? 1 : (d.start+d.length)/d.length;
var dataStr=$(data).serialize();
dataStr=dataStr+"&start="+start+"&length="+d.length;
return dataStr;
}
}
d.start是当前页起始行数,d.length是当前页展示多少行记录
2 提交json
"ajax":{
"url":url,
"type":"POST",
"Content-Type", "application/json",
data:function(d){
var start = d.start==0 ? 1 : (d.start+d.length)/d.length;
if(isRequestJson){
data.start=start;
data.length=d.length;
return JSON.stringify(data);
}
}
}
传递参数格式,更多内容,参考这里:http://datatables.club/reference/option/ajax.data.html