На моей странице есть дата, которая работает должным образом, за исключением обновления номера страницы при нажатии предыдущей или следующей навигационной кнопки.
Каждый щелчок по следующей кнопке увеличивает страницу с 0-> 1-> 2-> 3 ... но нажатие кнопки prev не возвращает ее к странице № 0, а к 1. В действительности, страницаНа пользовательском интерфейсе отображается 0 информации, но page.info (). Страница отображает номер страницы как 1.
Пожалуйста, помогите, почему кнопка prev не обновляет номер страницы до 0, а пользовательский интерфейс отображает информацию на странице 0.
function initializeInProgressShipmentsTable(pageSize) {
var tableId = "#in-progress-shipments-table";
var dataTable = $(tableId).DataTable({
"lengthChange": false,
"pageLength": pageSize,
"processing": true,
"pagingType": "simple",
"retrieve": true,
"order": [],
"columns": [
{"data": "link"},
{"data": "link2"},
{"data": "link3"},
{"data": "rc"},
{"data": "link4"},
{"data": "oc"},
{"data": "st"},
{"data": "link5"}
],
"drawCallback": function (settings) {
var api = this.api();
addClickEventListenerOnNextButton(tableId);
enableNextButton(api, pageSize, tableId);
}
});
return dataTable;
}
/**
* Function that adds a listener to click event on next button.
* It will only loads data from the server if last page is displayed and next button is not disabled
* @param tableId
*/
function addClickEventListenerOnNextButton(tableId) {
$(tableId + "_next").click(function () {
var dataTable = $(tableId).DataTable();
var pageInfo = dataTable.page.info();
var isNextButtonEnabled = $(tableId + '_next.paginate_button.next.disabled').length > 0 ? false : true;
if (isNextButtonEnabled && ((pageInfo.page + 1) >= pageInfo.pages)) {
$("#loader_wrapper").show();
$.ajax({
type: "GET",
url: getURL(tableId, getPageSize(tableId)),
async: false,
success: function (response) {
if (response.responseCode == "SUCCESS") {
loadResultAndRedrawTheTable(tableId, response);
increaseCallTimes(tableId);
$("#loader_wrapper").hide();
$('.load_failed').hide();
} else {
showErrorMessage("Loading new results failed, Error : " + response.message);
}
},
error: function () {
showErrorMessage("Loading new results failed, Please try after sometime.");
}
});
}
});
}
/**
* Enable next button to load more results
* @param api
* @param pageSize
*/
function enableNextButton(api, pageSize, tableId) {
if ((api.rows({page: 'current'}).count() == pageSize)) {
$(tableId + '_next.paginate_button.next').removeClass("disabled");
}
}