今天总算把那个操作的处理给弄好了,不过心情烦躁,不想干,顺带发现了第一列序号列没法生成的问题,先附上我出问题的那段代码以及序号列的生成代码:
t = $(idname).DataTable({
language: {
url: '${BASE_PATH}/static/js/datatables/1.10.0/Chinese.json'
},
"pagingType": "full_numbers",
"bSort": false,
"bLengthChange": false,
"bFilter": true,
"searching": false,
"bDestroy": true,
"data": data,
"columns": colnames,
"columnDefs": coldefs
});
//生成序号列的代码
t.on('order.dt search.dt',
function () {
t.column(0, {
search: 'applied',
order: 'applied'
}).nodes().each(function (cell, i) {
cell.innerHTML = i + 1;
});
}).draw();
经查询发现这个在脚本之家找到了一个解释,可能是jquery datatable的版本的问题,他也给出了一个解决方案,所以我就把这个解决方案就记录在这里,方便自己以后遇到相似问题好解决。解决后的代码如下:
t = $(idname).DataTable({
language: {
url: '${BASE_PATH}/static/js/datatables/1.10.0/Chinese.json'
},
"pagingType": "full_numbers",
"bSort": false,
"bLengthChange": false,
"bFilter": true,
"searching": false,
"bDestroy": true,
"data": data,
"columns": colnames,
"columnDefs": coldefs,
"fnDrawCallback": function(){ //解决序号列没法生成的问题
var api = this.api();
var startIndex= api.context[0]._iDisplayStart;//获取到本页开始的条数
api.column(0).nodes().each(function(cell, i) {
cell.innerHTML =i + 1;
});
}
});
就这样搞定了,如果你也遇到了相似的问题,希望能给你帮助,如果内容有问题,欢迎指正。