数据表按日期排序仅分类一天



我有一个Datatable,它是一个项目列表,我想将日期列对下降。它有效,但仅分类一天。

我想要的是最后一个添加的项目。

我的脚本是:

<script>
       $(function(){
                  /* Initialize Bootstrap Datatables Integration */
            App.datatables();
            /* Initialize Datatables */
            $('#manage-table').dataTable({
                "aoColumnDefs": [ { "bSortable": false, "aTargets": [ 0 ] } ],
                "iDisplayLength": 10,
                "aLengthMenu": [[10, 20, -1], [10, 20, "All"]],
                "aaSorting": [[ 3, "desc" ]] //date column
            });
            /* Add placeholder attribute to the search input */
            $('.dataTables_filter input').attr('placeholder', 'Search'); 
       });
       </script>  

您需要将数据表分类功能扩展到格式DD-MM-YYYY的日期。从您的初始化代码来看,很可能您正在使用DataTables 1.9.x。

请参见下面的更新代码,我省略了未更改的代码:

jQuery.extend(jQuery.fn.dataTableExt.oSort, {
    "date-uk2-pre": function (a) {
        if (a == null || a == "") {
            return 0;
        }
        var ukDatea = a.split('-');
        return (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
    },
    "date-uk2-asc": function (a, b) {
        return ((a < b) ? -1 : ((a > b) ? 1 : 0));
    },
    "date-uk2-desc": function (a, b) {
        return ((a < b) ? 1 : ((a > b) ? -1 : 0));
    }
});
/* Initialize Datatables */
$('#manage-table').dataTable({
    "aoColumnDefs": [ 
       { "bSortable": false, "aTargets": [ 0 ] },
       { "sType": "date-uk2", "aTargets": [ 3 ] }
    ],
    "iDisplayLength": 10,
    "aLengthMenu": [[10, 20, -1], [10, 20, "All"]],
    "aaSorting": [[ 3, "desc" ]] //date column
});

我已经修改了原始date_uk排序插件,以通过DD-MM-YYYY而不是DD/MM/YYYY

请参阅DataTables 1.9.x date_uk分类插件或数据插件1.10.x date_uk分类插件有关更多信息。

相关内容

  • 没有找到相关文章