排序jQuery数据表的问题

问题描述

乍一看似乎很好,例如,它从2019年的日期一直到2020年,然后回到2019年及以后。 (日期格式DD / MM / YYYY)。下面包含了脚本和表代码。有人可以帮忙吗?

我的代码如下...

     <script type="text/javascript">
                $(document).ready(function () {
                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));
                }
                } );
        
                    $('#tbl').DataTable({
                        stateSave: true,order: [[9,'asc']],"aoColumns": [
                            null,null,{  "bSortable": false },{ "sType": "date-uk" },//THIS IS THE ITEM I CLICK THE SORT BUTTON ON.
                            null,null],paging: false,"oLanguage": {
                        "sEmptyTable": "","sSearch": ""
                    }
                    });
        </script>

// Table code

    <table class="table  table-bordered" id="tbl">
    <thead>
        <tr>
            
            <th>
               Test Date sort 
            </th>
    
        </tr>
    </thead>

<tbody>
        <td>
            @Html.displayFor(modelItem => item.TestDate)
        </td>

</tbody>
</table>

解决方法

感谢所有输入,下面是解决方法:

将日期格式更改为:

@Convert.ToDateTime(item.TestDate).ToString("yyyy/MM/dd")

代替dd / mm / yyyy。然后从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));
//}
//} );