У меня было это требование разбивать на страницы данные, отображаемые в таблице, и извлекать их с помощью вызовов ajax - это я выполнил с помощью плагина dataTables со следующей конфигурацией -
bServerSide : true;
sAjaxSource : <ajax_source>
bPaginate : true,
bSort:false,
bFilter:false
У меня также было требование сортировки данных на стороне клиента, то есть только на текущей странице, а не во всем наборе ( См. ). Для этого я попробовал плагин tablesorter , используя следующий код -
"fnServerData": function(sSource, aoData, fnCallback){
$.ajax({
"dataType": "json",
"contentType": "application/json",
"type" : "GET",
"url" : sSource,
"data" : aoData,
"success" : function (jsonData){
fnCallback(jsonData);
$("#companies").tablesorter();
}
});
}
Но, к моему удивлению, даже если сортировка на первой странице работает нормально, как только я перехожу на последующие страницы, как только я щелкаю по заголовку столбца, он начинает показывать все строки на предыдущей странице как хорошо, что нежелательно.
Может кто-нибудь объяснить, что здесь может пойти не так.
Редактировать: $("#companies").trigger("update");
сделал трюк