如何在angular.js中按日历顺序排列月份?

时间:2016-03-30 15:19:08

标签: angularjs

我正在将angular.js用于font-end,将node.js用于服务器端。

现在,我随机地在数组中列出一些值(月)。

HTML code:

    <div ng-app="">
      <div ng-controller="Ctrl">
        <select ng-model="month">
            <option ng-repeat="month in months">{{month.value}}</option>
      </select>
      </div>
    </div>

控制器代码:

function Ctrl($scope) {
     $scope.months = [{"value":"February"},{"value":"April"},{"value":"January"}];
     $scope.month=null;
}

预期产出:

一月
二月
四月

我想在下拉列表中按上述顺序

1 个答案:

答案 0 :(得分:1)

你可以像你这样在你的控制器中创建一个功能

 $scope.getMonthValue = function(mon) {
   return new Date(Date.parse(mon.value +" 1, 2000")).getMonth()+1;
 }

将月份名称转换为日期,并返回orderBy过滤器可用于排序的实际月份数。

在html中,您可以添加orderBy过滤器:

  <select ng-model="month">
        <option ng-repeat="month in months | orderBy: getMonthValue">{{month.value}}</option>
  </select>