Javascript DataTables-如何使用自定义条件对列进行排序?
在我的一个基于PHP的项目中,我需要使用自定义条件或自定义顺序,而不是数据表的默认顺序(升序或降序),对列进行排序 我有四种状态:紧急、高、中、低Javascript DataTables-如何使用自定义条件对列进行排序?,javascript,php,jquery,datatable,Javascript,Php,Jquery,Datatable,在我的一个基于PHP的项目中,我需要使用自定义条件或自定义顺序,而不是数据表的默认顺序(升序或降序),对列进行排序 我有四种状态:紧急、高、中、低 我想要的定制订单是: 在提升过程中,它将是:低、中、高、紧急 在下降过程中,它将是:紧急、高、中、低 因此,在搜索了数据表之后,我找到了一个在数据表中正常工作的解决方案。这里是[稍微定制以满足我的标准]: $.fn.dataTable.ext.type.order['ticket-priority-pre'] = function ( d ) {
我想要的定制订单是: 在提升过程中,它将是:低、中、高、紧急
在下降过程中,它将是:紧急、高、中、低
因此,在搜索了数据表之后,我找到了一个在数据表中正常工作的解决方案。这里是[稍微定制以满足我的标准]:
$.fn.dataTable.ext.type.order['ticket-priority-pre'] = function ( d ) {
switch ( d ) {
case 'Low' : return 1;
case 'Medium' : return 2;
case 'High' : return 3;
case 'Urgent' : return 4;
}
return 0;
};
$( document ).ready( function() {
//initializing datatables
$('#ticketList').DataTable({
"paging" : false,
"info" : false,
"searching" : false,
"order": [[ 0, "desc" ]],
"columnDefs": [ {
"type": "ticket-priority",
"targets": -1
} ]
});
});
但我得到的命令是: 上升:高、低、中、急
下降:紧急、中等、低、高
不知什么原因,低和高的顺序都错了 有谁能帮助我解决代码中的问题,或者提供解决方案
- 谢谢
$.fn.dataTable.ext.type.detect.unshift(
function ( d ) {
return (d === 'Low' || d === 'Medium' || d === 'High' || d === 'Urgent') ?
'ticket-priority' :
null;
}
);
$.fn.dataTable.ext.type.order['ticket-priority-pre'] = function ( d ) {
switch ( d ) {
case 'Low' : return 1;
case 'Medium' : return 2;
case 'High' : return 3;
case 'Urgent' : return 4;
}
return 0;
};
$( document ).ready( function()
{
// Initializing datatables.
$('#ticketList').DataTable({
"paging" : false,
"info" : false,
"searching" : false,
"order" : [[ 0, "desc" ]],
"columnDefs": [ {
"type": "ticket-priority",
"targets": -1
} ]
});
});