Я пытаюсь получить jQuery dataTables для сортировки моего числового столбца по пользовательским значениям. Я прочитал все потоки о числовой сортировке, но пока не нашел рабочего решения для своей проблемы. Я храню свои числа в атрибуте данных JQuery называется sort-count
jQuery dataTables custom afnSortData function sort numeric
Это моя инициализация DataTables:
$('.wp-list-table').dataTable({
"aoColumns": [
null,
null,
null,
{ "sType": "numeric", "sSortDataType": "numeric-data-attribut" },
{ "sType": "numeric", "sSortDataType": "numeric-data-attribut" },
{ "bSortable": false, "bSearchable": false },
],
"bJQueryUI":true,
"bPaginate":true,
"sPaginationType":"full_numbers"
});
И это моя пользовательская функция afnSortData поймать значения до сортировки:
jQuery.fn.dataTableExt.afnSortData['numeric-data-attribut'] = function (oSettings, iColumn)
{
var aData = [];
jQuery('td:eq('+iColumn+')', oSettings.oApi._fnGetTrNodes(oSettings)).each(function() {
aData.push(parseInt(jQuery(this).attr('data-sort-count'), 10));
});
console.log(aData);
return aData;
};
console.log(aData)
показывает следующий вывод, когда несколько раз щелкнул по столбцу, чтобы отсортировать его. Как вы можете видеть, он извлекает правильные значения, они все числовые, но они сортируют их полностью случайным образом.
Я пытался в течение многих часов, но просто не могу заставить его работать.