Jquery datatable Date Column Sorting not sorting based on recent Dates

Posted

技术标签:

【中文标题】Jquery datatable Date Column Sorting not sorting based on recent Dates【英文标题】:Jquery datatable Date Column Sorting not Sorting based on recent Dates 【发布时间】:2016-07-16 20:16:56 【问题描述】:

我是 Jquery 的新手 使用名为 datatables 的 Jquery 插件。 在这里,我在日期列中遇到了排序问题。 在我的项目中,我想根据最近的日期对列进行排序。 但它是从上到下,从下到上排序 有人可以帮忙吗? 谢谢

 jQuery.extend( jQuery.fn.dataTableExt.oSort, 

        "date-uk-pre": function ( a ) 
            var ukDatea = a.split('/');

            return (ukDatea[0] + ukDatea[1] + ukDatea[2]) * 1;
        ,

        "date-uk-asc": function ( a, b ) 
            //alert(a)
            //var ukDatea = a.split('/');
            //if(ukDatea[2])
            return ((a < b) ? 1 : ((a > b) ? -1 : 0));
        ,

        "date-uk-desc": function ( a, b ) 
            return ((a < b) ? -1 : ((a > b) ? 1 : 0));
        
     );

【问题讨论】:

【参考方案1】:

要使用这个插件,你应该导入js文件:

<script type="text/javascript" src="//cdn.datatables.net/plug-ins/1.10.11/sorting/date-uk.js"></script>

并指定包含日期的列。

......
columnDefs: [
    type: 'date-uk', targets: 0 
 ]
......

结果:https://jsfiddle.net/cmedina/7kfmyw6x/31/

如果您想要一个没有外部 js 的示例,请尝试...

http://live.datatables.net/lorituwu/1/

【讨论】:

【参考方案2】:

您可以使用 php 解决排序问题。

$mydate = strtotime($startdate);
$newformat = date('d-m-Y',$mydate);
echo '<tr>';
echo '  <td data-sort="'. $mydate .'">'.$newformat .'</td>';

【讨论】:

以上是关于Jquery datatable Date Column Sorting not sorting based on recent Dates的主要内容,如果未能解决你的问题,请参考以下文章

Jquery datatable Date Column Sorting not sorting based on recent Dates

针对 DataTable 运行 SQL 查询

Jquery Datatables 列渲染和排序

jQuery dataTables - TableTools:导出时隐藏行和列

在 jquery 中的 DataTables 插件中排序不起作用

jQuery dataTables 排序不适用于 dd-mm-yyyy 格式