Мой PHP-скрипт прост:-
Код: Выделить всё
$columns = array(
array( 'db' => 'length', 'dt' => 'length' )
);
Метод 1. Установите значение сортировки, когда тип равен сортировка
Результат: бессистемная сортировка без ритма
Код: Выделить всё
new DataTable('#lt-table', {
ajax: {
url: 'lt-sorter.php',
type: 'POST'
},
columns: [
{ data: 'null',
render: function ( data, type, row ) {
if ( type === 'sort' ) {
if (row.length.includes('mm')) {
var sortValue = row.length.replace('mm', '');
} else if (row.length.includes('cm')) {
var sortValue = row.length.replace('cm', '') * 10;
}
return sortValue;
} else {
return row.length;
}
}
},
processing: true,
serverSide: true
});
Результат: сортировка данных установлена успешно. Но все равно это беспорядочно, без ритма. Также попробовал упорядочить данные, результат тот же
Код: Выделить всё
createdRow: function (row, data, dataIndex) {
if (data.length.includes('mm')) {
$(row).find('td:eq(0)').attr('data-sort', data.length.replace('mm', ''));
} else if (data.length.includes('cm')) {
$(row).find('td:eq(0)').attr('data-sort', data.length.replace('cm', '') * 10);
}
}
Результат: Скрытое значение полностью игнорируется. Сортировка практически не происходит
Код: Выделить всё
return '' + row.length.replace('mm', '') + ' ' + row.length;
Подробнее здесь: https://stackoverflow.com/questions/791 ... ot-working