【问题标题】:AngularJS - Filter view by month with ng-clickAngularJS - 使用 ng-click 按月过滤视图
【发布时间】:2015-05-17 03:58:51
【问题描述】:

我想用一个简单的链接过滤我的视图。我有几个对象都包含一个日期。例如。如果我单击三月,则应仅显示带有“开始日期”三月的数据。我在网上搜索但没有发现任何对我有用的东西。这是我的 json 对象,条件应该是“开始日期”。

trips.son

[{
  "Startdate": "Thu Jan 02 2014 00:00:00 +0100",
  "DAYS": [{
    "DATE": "Thu Jan 02 2014 00:00:00 +0100",
    "IATA": "TXL",
    "DUTY": "6:10"
  }]
}, {
  "Startdate": "Sun Jan 05 2014 00:00:00 +0100",
  "DAYS": [{
    "DATE": "Sun Jan 05 2014 00:00:00 +0100",
    "IATA": "CBTH",
    "DUTY": "8:07"
  }]
}, {
  "Startdate": "Wed Sep 24 2014 00:00:00 +0200",
  "DAYS": [{
    "DATE": "Wed Sep 24 2014 00:00:00 +0200",
    "IATA": "BCN",
    "DUTY": "9:35"
  }, {
    "DATE": "Thu Sep 25 2014 00:00:00 +0200",
    "IATA": "BCN",
    "DUTY": "15:34"
  }]
}, {
  "Startdate": "Sat Sep 27 2014 00:00:00 +0200",
  "DAYS": [{
    "DATE": "Sat Sep 27 2014 00:00:00 +0200",
    "IATA": "CPH",
    "DUTY": "4:44"
  }]
}]

在这里你可以明白我的意思:

更新: plnkr

默认情况下,仅应显示一月 - 单击每个链接时更改视图!

【问题讨论】:

  • 我很困惑,下拉过滤器似乎在您发布的 plnkr 中正常工作。您找到问题了吗?还是有其他问题?
  • 我的插件有问题!它不会显示实际版本!尽管如此,我还是找到了一种做我想做的事的方法!我会尽快发布的

标签: angularjs date filter angularjs-ng-click


【解决方案1】:

我找到了一种适合我的方法!也许不是最好的,但它会完成这项工作。

将 StartdateMonth 作为月份名称添加到我的范围:

var date = new Date($scope.trips[i].Startdate);
            $scope.trips[i].Startdate = date;
            var names = ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"];
            $scope.trips[i].StartdateMonth = names[date.getMonth()];

为标签创建 ng-click:

<li role="presentation"><a ng-click="myFilter = {StartdateMonth: 'Januar'}">Januar</a></li>
<li role="presentation"><a ng-click="myFilter = {StartdateMonth: 'Februar'}">Februar</a></li>

最后添加过滤器:

<div ng-repeat="trip in trips | filter: myFilter">

【讨论】:

    猜你喜欢
    • 2016-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-02
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多