javascript - 日期列未在 ng-table 中排序

标签 javascript angularjs sorting ngtable

我已经使用 ng-table 创建了一个应用程序,该应用程序工作正常,除了日期列之外排序工作正常,任何人都可以告诉我一些解决方案。我的代码如下所示

<强> Working Demo

html

<table ng-table="tableParams" class="table">
    <tr ng-repeat="user in myValues">
        <td data-title="'Name'" sortable="'name'">
            {{user.name}}
        </td>
        <td data-title="'Age'" sortable="'age'">
            {{user.age}}
        </td>
        <td data-title="'Last Update Date'" sortable="'lastUpdateDate'">
            {{user.lastUpdateDate}}
        </td>
    </tr>
</table>

脚本

var app = angular.module('main', ['ngTable']).
controller('DemoCtrl', function($scope, $filter, ngTableParams) {
    $scope.myValues = [{name: "Moroni", age: 50, lastUpdateDate:"03/14/2014 06:21"},
                {name: "Tiancum", age: 43, lastUpdateDate:"07/24/2014 06:41"},
                {name: "Jacob", age: 27, lastUpdateDate:"09/10/2001 04:46"},
                {name: "Nephi", age: 29, lastUpdateDate:"03/30/2013 03:31"},
                {name: "Enos", age: 34, lastUpdateDate:"02/20/2004 09:11"},
                {name: "Tiancum", age: 43, lastUpdateDate:"07/12/2012 05:24"},
                {name: "Jacob", age: 27, lastUpdateDate:"01/24/2013 01:11"},
                {name: "Nephi", age: 29, lastUpdateDate:"05/02/2014 02:21"},
                {name: "Enos", age: 34, lastUpdateDate:"01/21/2001 03:31"},
                {name: "Tiancum", age: 43, lastUpdateDate:"02/14/2002 04:21"},
                {name: "Jacob", age: 27, lastUpdateDate:"03/22/2022 05:01"},
                {name: "Nephi", age: 29, lastUpdateDate:"04/14/2020 06:11"},
                {name: "Enos", age: 34, lastUpdateDate:"05/03/2002 07:03"}, 
                {name: "Tiancum", age: 43, lastUpdateDate:"06/09/2000 08:01"},
                {name: "Jacob", age: 27, lastUpdateDate:"07/10/2001 09:02"},
                {name: "Nephi", age: 29, lastUpdateDate:"08/27/2012 10:10"},
                {name: "Enos", age: 34, lastUpdateDate:"09/12/2014 06:12"}];

    $scope.tableParams = new ngTableParams({
        sorting: {
            lastUpdateDate: 'desc'     
        }
    }, {
        getData: function($defer, params) {
           $scope.myValues = $filter('orderBy')($scope.myValues, params.orderBy());
          $defer.resolve($scope.myValues);
        }
    });
});

最佳答案

它可以工作,但显然不是按照您期望的方式:您的代码中没有任何内容表明该字段是日期,因此 lastUpdateDate 被作为公共(public)字符串处理,因此顺序是按字母顺序排列的。

关于javascript - 日期列未在 ng-table 中排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26238697/

相关文章:

javascript - crud ajax jquery symfony3 无法工作

javascript - 如何为谷歌街景 View 上的箭头提供自定义链接覆盖名称

javascript - AngularJS 中的传单 map 交互

javascript - Angularjs:如何将范围变量传递给指令?

javascript - 从数组中相对选取 X 值

javascript - 带有预先转换的 json url 的 jQuery UI 自动完成

javascript - jquery remove/addClass 被忽略

javascript - 在 ng-repeat 循环中使用单选按钮似乎会使模型混淆

php - 数组排序算法

javascript - Laravel:如何使用分页和过滤器按相关模型进行排序