目前,我正在根据Datatables Switch between pages automatically中的数据表代码建立一个表 然后我发现了一个错误,如果“在一个页面中显示的总数据mod(模数)个数据”评估为0,则表将滑至第二页(而不是第一页)。
例如
____________________________________________________________
| total data | num of data displayed in a page | result |
____________________________________________________________
| 9 | 3 | bug |
| 10 | 2 | bug |
| 8 | 3 | normal |
| 11 | 3 | normal |
下面是我正在使用的代码 https://jsfiddle.net/0oey9tnf/
$(document).ready(function (){
var table = $('#example').DataTable({
pageLength: 7
});
setInterval(function(){
var info = table.page.info();
var pageNum = (info.page < info.pages) ? info.page + 1 : 1;
table.page(pageNum).draw(false);
}, 1000);
});
答案 0 :(得分:0)
经过一些测试,看来DataTables.page
适用于索引而非页码。
因此,JavaScript代码变为:
$(document).ready(function (){
var table = $('#example').DataTable({
pageLength: 7
});
setInterval(function(){
var info = table.page.info();
var pageNum = (info.page + 1 < info.pages) ? info.page + 1 : 0;
table.page(pageNum).draw(false);
}, 1000);
});
在这里尝试整个操作:https://jsfiddle.net/dz5mfyr4/
答案 1 :(得分:0)
尝试这个
$(document).ready(function (){
var table = $('#example').DataTable({
pageLength: 6
});
setInterval(function(){
var info = table.page.info();
var pageNum = (info.page < info.pages) ? info.page + 1 : 0
table.page(pageNum).draw(false);
}, 1000);
});
答案 2 :(得分:0)
$(document).ready(function (){
var table = $('#example').DataTable({
pageLength: 7
});
setInterval(function(){
var info = table.page.info();
var pageNum = (info.page <= info.pages) ? info.page +1: 1;
table.page(pageNum).draw(false);
}, 1000);
});
希望这对您有用。
答案 3 :(得分:0)
您的实际逻辑应该是循环的
var pageNum = ((info.length + info.start) % info.pages);
应该解决问题