Я использую datatables (ранжирование на стороне сервера) с плагином флажка от Gyrocode.
var dTable2 = $('table.contracts-search-results').dataTable( {
"processing": true,
"serverSide": true,
"ajax": {
"url": "${someURL}",
"type": "POST",
"data": function (d) {
d.returnEmptyResult = '${returnEmptyResult}';
},
},
searching: false,
"dom": '<"top"iplB<"clear">>rt<"bottom"iplB<"clear">>',
paging: true,
pageLength: 0,
displayStart: 50,
"pagingType": "input",
info: true,
"buttons": [],
"order": [],
"columnDefs":
{"targets": 7,
"width": "75px",
checkboxes: {
"selectRow": true,
"selectAll": false
},
"stateSave": true,
'createdCell': function (td, cellData, rowData, row, col){
var $this = this;
var selectedCon = '${con}';
var arrayOfCon = selectedCon.replace(/[\[\]\s']+/g, '').split(",");
$.map(arrayOfSelectedCon, function(conId, index) {
if(cellData == conId) {
$this.api().cell(td).checkboxes.select();
}
});
},
},
{
"targets": [14, 15, 16],
"visible": false
},
],
"select": {
"style": "multi",
},
"language": {
"decimal": ",",
"thousands": ".",
"url": themeUrl+"js/libs/dataTable/lang/german.json"
},
}
}) ;
У меня есть страницы. На первом у меня есть таблицы данных с конфигурацией, размещенной выше. Вторая страница У меня есть еще данные с аналогичной конфигурацией. Когда пользователь попадает на вторую страницу и выбирает несколько строк с помощью флажков, я создаю список идентификаторов, а когда пользователь возвращается на первую страницу, я отправляю идентификаторы со второй страницы на первую и выбираю флажки на первой странице, основываясь на идентификаторах со второй страницы.
Проблема в том, что он работает нормально. Если все строки были на одной странице таблицы, но когда пользователь на второй странице использовал разбиение на страницы, он не работает.