我有一个日期列,格式为dd / mm / yyyy,用于bootstrap数据表。我尝试排序它有问题。所以我试着插入这个columndef。结果相同,排序仍然不正确。
var table = $('#listTable').DataTable({
responsive:true,
"columnDefs": [
{ type: 'date-euro', targets: 0 }
]
});
答案 0 :(得分:0)
您必须为此添加此插件:
请参阅此链接:click here
添加此代码:
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-eu-pre": function ( date ) {
date = date.replace(" ", "");
if ( ! date ) {
return 0;
}
var year;
var eu_date = date.split(/[\.\-\/]/);
/*year (optional)*/
if ( eu_date[2] ) {
year = eu_date[2];
}
else {
year = 0;
}
/*month*/
var month = eu_date[1];
if ( month.length == 1 ) {
month = 0+month;
}
/*day*/
var day = eu_date[0];
if ( day.length == 1 ) {
day = 0+day;
}
return (year + month + day) * 1;
},
"date-eu-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"date-eu-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );
这适用于数据表定义:
$('#example').dataTable( {
columnDefs: [
{ type: 'date-eu', targets: 0 }
]
} );
您也可以从此堆栈溢出链接中找到答案:click here