Я думаю, что знаю проблему с этим, но я не знаю, как подойти к ней должным образом, поэтому я надеюсь, что у кого-то здесь была аналогичная проблема, и ей удалось как-то исправить ее. У меня есть таблица с несколькими столбцами, все из которых работают до сортировки, кроме одного. ниже - захват экрана этой колонки и ее сортировка на работе.столбец jquery datatables не правильно сортируется
, как вы можете видеть, что это не сортирует в соответствии с буквенно-цифровой логики. Мое предположение состоит в том, что некоторые из имен имеют в них символы, такие как круглые скобки запятой, скобки и т. Д. Итак, как бы я решил эту проблему, поэтому я могу сортировать это буквенно-цифровое использование плагина datatables? Идея-х?
**** EDIT ****
Это код, я работаю с, работает все, кроме этой одной колонки ..
jQuery.fn.dataTableExt.oSort['num-asc'] = function(a,b) {
var x = a.replace(/<.*?>/g, "");
var y = b.replace(/<.*?>/g, "");
x = parseFloat(x);
y = parseFloat(y);
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
};
jQuery.fn.dataTableExt.oSort['num-desc'] = function(a,b) {
var x = a.replace(/<.*?>/g, "");
var y = b.replace(/<.*?>/g, "");
x = parseFloat(x);
y = parseFloat(y);
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
};
$(document).ready(function() {
$('#ledger').dataTable({
bAutoWidth: false,
bJQueryUI : true,
bProcessing: true,
bServerSide: false,
sPaginationType: "full_numbers",
bStateSave : false,
bUseRendered: false,
iDisplayLength: ${entriesValue},
sDom: mw.superadmin.datatable.relatedListDom,
aLengthMenu: mw.superadmin.datatable.relatedListLengthMenu,
aaSorting: [[0,'asc']],
aoColumns: [
null,
{ "iDataSort": 2},
{ "bVisible": false, "sType": "num"},
{ "iDataSort": 4, "bSortable": true },
{ "bVisible": false, "sType": "num"}
]
});
это не делают разницы – chris
ли вы использовать его в определении столбца? В вашем примере это находится в определении данных, и это неправильное место. –
не совсем уверен, unfortunatley ive сделал очень мало работы с datatables до этого момента, и это было по существу брошено на меня с силой, чтобы работать с ним, я ставлю свой код выше, если это поможет любому ослабить то, что я сделал неправильно – chris