Мне нужно заменить систему нумерации страниц на новую, поскольку я не имею полного контроля над HTML или JS.
Для этого я пытаюсь использовать Pagination.js плагин, но как только я загрузил скрипт, метод .pagination()
, похоже, полностью игнорируется.
Сначала я сделал эту работу на JSFiddle , поскольку идея та же.Но я несколько раз менял свой код.
Мой код в нашей среде разработки:
document.addEventListener('readystatechange', function() {
if(document.readyState !== 'complete')
return;
$.getScript('https://pagination.js.org/dist/2.1.4/pagination.min.js')
.done(function() {
let rows = [];
$('table tbody tr').each(function(i, row) {
return rows.push(row);
});
if(rows.length) {
$('.jquery-bootstrap-pagination').pagination({
dataSource: rows,
pageSize: 1,
callback: function(data, pagination) {
$('tbody').html(data);
},
afterRender: function(loaded) {
console.info('Pagination loaded:', loaded);
}
});
console.info('Loaded rows:', rows.length);
} else
$('.jquery-bootstrap-pagination').css('display', 'none');
})
.fail(function(jqxhr, settings, exception) {
console.error(jqxhr, settings, exception);
});
});
Я уже пробовал с $(document).ready()
, window.onload
и document.addEventListener("DOMContentLoaded")
и rows
число равно 0, но document.addEventListener('readystatechange', function() {})
.
После отладки некоторые шаги с console.info()
Мне удалось увидеть, что вызывается метод .pagination()
, но ничего не происходит.
Я не могу обработать загрузку данных таблицы или время ее задержки, но я знаю, что jQuery загружается раньше.
Примечание: Я не могу использовать большинство систем нумерации страниц, так какисточником данных являются те же строки таблицы HTML.Мне нужно перезагрузить данные в этой таблице с помощью плагина нумерации страниц, например, скрипки.
Почему pagination()
игнорируется?Заранее спасибо.