【问题标题】:Angularjs sorting based on start date and end date?Angularjs基于开始日期和结束日期排序?
【发布时间】:2017-08-30 13:39:57
【问题描述】:

我想使用meanjs应用程序中的日期范围功能过滤基于invoice_date的项目(开始和结束日期)。

  • 我的问题是日期过滤器功能在 plunker and my localHost production 中运行良好,但在推送到服务器时,如果某些 invoice_date 值日期为 `2017-08-24 和2017-07-27'这些数据没有显示在表格中,我不知道我在哪里做错了,我错过了什么.....My Plunk

  • 请查看我的 plunker 以供参考。

  • 我已经显示invoice_date,所以这是我要用于过滤的字段。

  • 所以我到底在寻找什么,我想过滤 invoice_date 作为开始日期和结束日期:例如:- 如果我们选择像 24-05-2017 这样的开始日期并结束表中的日期是24-08-2017 这两个事务只需要显示或过滤...所以我使用日期范围过滤器来实现此解决方案,但在服务器中它不适合我们请帮助。

  • 在我的服务器中,如果我选择 end date 作为今天的日期,所有数据都显示在表格上,所以我认为问题是基于这些字段 $scope.from = new Date(2014, 04, 30); $scope.to = new Date(2019, 08, 25);

  • 有两种解决方案:- (i) 如果我们在日期范围函数中将end date 设置为今天的默认日期,所有数据都将完美显示。

  • (ii) 在终端出现这个错误如果我们解决这个错误肯定会得到解决方案,我自己尝试过但我无法解决这个...所以请帮助解决这个问题。

控制器:

 .filter('dateRange', function() {
    return function(records, dateKey, from, to) {
        return records.filter(function(record) {
            return !moment(record[dateKey], 'YYYY-MM-DD').isBefore(moment(from))
            && !moment(record[dateKey], 'YYYY-MM-DD').isAfter(moment(to));
        });
    };
})

HTML:

<input type="date" class="form-control" name="from" ng-model="from">

<input type="date" class="form-control" name="to" ng-model="to">

过滤器:-

ng-repeat="data in  record | dateRange : 'invoice_date' : from : to"

【问题讨论】:

    标签: html angularjs meanjs


    【解决方案1】:

    您是否在项目中包含了 moment.js。 如果没有,请尝试包含它。

    npm install moment --save   # npm
    yarn add moment             # Yarn
    Install-Package Moment.js   # NuGet
    spm install moment --save   # spm
    meteor add momentjs:moment  # meteor
    bower install moment --save # bower (deprecated)
    

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 2022-01-22
      • 2012-08-19
      • 2022-06-23
      • 2018-06-30
      • 2020-03-13
      相关资源
      最近更新 更多