我正在使用名为 datatables 的 Jquery 插件
太棒了,但是我无法根据 dd/mm/yyyy 格式正确排序日期。
我查看了他们的支持格式,但这些修复似乎都不起作用。
这里有人可以帮助我吗?
最佳答案
2020 年更新:HTML 解决方案
由于 HTML 5 已经非常成熟,几乎所有主流浏览器都支持它。所以现在一个更简洁的方法是使用 HTML5 data attributes (maxx777 提供了 PHP 解决方案,我使用的是简单的 HTML)。对于我们场景中的非数字数据,我们可以使用 data-sort
或 data-order
属性并为其分配可排序的值。
HTML
<td data-sort='YYYYMMDD'>DD/MM/YYYY</td>
jQuery 解决方案
jQuery.extend( jQuery.fn.dataTableExt.oSort, {
"date-uk-pre": function ( a ) {
var ukDatea = a.split('/');
return (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
},
"date-uk-asc": function ( a, b ) {
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
},
"date-uk-desc": function ( a, b ) {
return ((a < b) ? 1 : ((a > b) ? -1 : 0));
}
} );
将上述代码添加到脚本中,并将带有 { "sType": "date-uk"}
的日期值的特定列设置为 null,如下所示:
$(document).ready(function() {
$('#example').dataTable( {
"aoColumns": [
null,
null,
null,
null,
{ "sType": "date-uk" },
null
]
});
});
关于jquery - 数据表日期排序 dd/mm/yyyy 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12003222/