I am using a Jquery plugin called datatables

这太棒了,但是我无法让日期按照dd/mm/yyyy格式正确排序.

我已经查看了它们的支持格式,但这些修复似乎都不起作用.

请问这里有人能帮帮我吗?

推荐答案

更新2020:HTML解决方案

因为HTML5是如此发达,几乎所有主流浏览器都支持它.所以现在一个更干净的方法是使用HTML5 data attributes(maxx777 provided a PHP solution I am using the simple HTML).对于我们场景中的非数字数据,我们可以使用data-sortdata-order属性并为其分配一个可排序的值.

HTML

<td data-sort='YYYYMMDD'>DD/MM/YYYY</td>

这是working HTML solution美元

jQuery Solution

这是working jQuery solution美元.

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));
}
} );
 

Add the above code to script and set the specific column with Date values with { "sType": "date-uk" } and others as null, see below:

$(document).ready(function() {
    $('#example').dataTable( {
        "aoColumns": [
            null,
            null,
            null,
            null,
            { "sType": "date-uk" },
            null
        ]
    });
    });

Jquery相关问答推荐

jQuery:获取数据属性

jQuery获取DOM node ?

如何制作 AngularJS 指令来停止传播?

jQuery 与 ExtJS

如何知道所有ajax调用何时完成

如何在使用 jQuery 单击特定链接时打开 bootstrap 导航选项卡的特定选项卡?

javascript中的描述关键字

删除索引后的所有项目

为什么找不到我的 json 文件?

jQuery 如果 div 包含此文本,则替换该部分文本

JQuery:如果 div 可见

使用 jquery 通过文本设置下拉值

测试两个元素是否相同

判断复选框是否未选中单击 - jQuery

jQuery表格行中的每个循环

如何使用 jQuery 格式化电话号码

由于滚动,响应表内的 bootstrap 按钮下拉菜单不可见

使用 jQuery Select 空文本输入

如何以编程方式触发 ngClick

什么时候应该使用 jQuery 的 document.ready 函数?