Jquery Datatables 列渲染和排序

7 浏览
0 Comments

Jquery Datatables 列渲染和排序

我正在使用一个datatable,其中包含一个列的mysql时间戳,格式为YYYY-MM-DD HH:MM:SS。我的表格设置为初始按照这一列排序。Datatables可以正确自动检测时间戳的格式并进行适当的排序。

现在,我想要改变这一列的显示方式,使其更加用户友好,但不影响排序方式。所以,我使用columns.render功能来实现,代码如下:

{
        "data":"created_at",
        "name":"date",
        "visible":true,
        "title":"创建日期",
        "render": function(data, type, full, meta){
                var date = new Date(data);
                var options = {year: "numeric", month: "long", day: "numeric"};
                return date.toLocaleDateString('en-US', options);
        }
}

一旦我这样做,排序就不再正确工作。我原本以为render函数只会影响数据的显示,但实际上它应该按照该行数据对象上的底层数据进行排序。这是我正在使用的文档(http://datatables.net/reference/option/columns.render)。

有人知道如何根据实际的时间戳进行排序,但显示一个更加用户友好的日期吗?

0