如何使用Angluarjs过滤结束日期?

时间:2016-09-08 05:51:11

标签: html css angularjs meanjs

大家好我想使用meanjs app中的日期范围功能过滤基于Due_date的项目(开始日期和结束日期)...... My Plunk

  • 请看我的傻瓜参考。

  • 我显示Due_date,因此这是我想要用于过滤的字段。

  • 我使用了一些功能来添加invoice_Dateterms,它提供了Due_date之类的答案。 例如: invoice_date:2016-09-10,条款:6,我得到的答案Due_date:16-09-2016

  • 所以我热切地寻找,我想过滤Due_date作为开始日期和结束日期:例如: - 如果我们选择开始日期,如{{1表格中的结束日期为16-09-2016,这两个事务只需要显示或过滤...所以我使用了daterange过滤器来实现这个解决方案,

  • 我可以完美地过滤25-09-2016但无法过滤start date,如果我们选择End date它没有在表格中显示正确的交易。示例: - End date: - startdate如果我们选择16-09-2016,如28-09-2016,它应该需要显示三个事务,但只有两个事务显示在表中.... My Plunker

控制器:

end date

HTML

 .filter("myfilter", function() {
   return function(items, from, to) {
     var df = from;
       var dt =to;
         var result = [];   

      for (var i=0; i<items.length; i++){
        var date = new Date(items[i].invoice_date);
          date.setDate(date.getDate() + parseInt(items[i].terms));
           var tf = date;
             if (tf > df && tf < dt)  {
               result.push(items[i]);
            }
        }   
         console.log(items);
        return result;
  };
});

过滤器: -

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

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

这下面需要过滤表格: -

DUE_DATE: -

ng-repeat="data in  record | myfilter:from:to"

1 个答案:

答案 0 :(得分:1)

您应该尝试Moment进行日期时间操作,

var date = moment(items[i].invoice_date).add(items[i].terms,'d');
if(date.isAfter(from) && date.isBefore(to)){
  .....
}