datatables 的使用网上非常多,没什么问题,照着步骤来没毛病。但是有一个问题,就是分页的问题,百度了一下午啊,都说的不仔细(大概是我太菜)。问题就是,在添加了附加查询条件后,分页没有效果。原因是,添加的附加条件把原来的分页条件覆盖了,所以分页无效。
var bugData = $('#example2').DataTable({
deferRender: true,
searching:false,
processing:true,
serverSide: true,/*服务器模式,分页排序在服务器端完成*/
ordering:false,
ajax:{
url : url + "queryList",
type : "post",
data : function(data){
**var obj = $("#searchForm").serializeJson();// 附加查询条件
/*组装分页参数 */
/*一页显示的行数*/
obj.rows = data.length;
/*data.draw 指的是第几次渲染,data.start从第几条开始显示*/
obj.page = data.start/data.length+1;**
return obj;
}
},
columns :[{
data : "taskName"
},{
data : "taskType",
render : function(data,type,row){
return getDM07Lable(data);
}
},{
data : "userName"
},{
data : "preBeginDate"
},{
data : "preManHour",
},{
data : "isReview",
"render" : function(data,type,row){
return getGO01Lable(data);
}
},{
data : "state",
"render" : function(data,type,row){
return getDM04Lable(data);
}
},{
data : "taskDesc"
}],
/*设置中文显示*/
language : constants.languge
});
// 中文信息
var constants = {
languge:{
"sProcessing" : "处理中...",
"sLengthMenu" : "每页 _MENU_ 条记录",
"sZeroRecords" : "没有匹配结果",
"sInfo" : "第 _PAGE_ 页 ( 总共 _PAGES_ 页,_TOTAL_ 条记录 )",
"sInfoEmpty" : "无记录",
"sInfoFiltered" : "(由 _MAX_ 项结果过滤)",
"sInfoPostFix" : "",
"sSearch" : "搜索:",
"sUrl" : "",
"sEmptyTable" : "表中数据为空",
"sLoadingRecords" : "载入中...",
"sInfoThousands" : ",",
"oPaginate" : {
"sFirst" : "首页",
"sPrevious" : "上页",
"sNext" : "下页",
"sLast" : "末页"
},
"oAria" : {
"sSortAscending" : ": 以升序排列此列",
"sSortDescending" : ": 以降序排列此列"
}
}
};
后台有对应的对象去接收就OK了。