2016-09-07 141 views
0

大家好,我想筛选诸如(开始和结束日期)这样的项目,这是基于Due_date使用meanjs应用程序中的日期范围功能。然后,我尝试过很多方法,但无法得到解决办法,如果任何人知道的解决方案,请帮助我..... My PlunkAngularjs根据开始日期和结束日期过滤字段?

  • 请大家看我的plunker参考。

  • 我有显示Due_date,所以这是我想用于过滤的字段。

  • 我已经使用了一些功能来添加invoice_Dateterms,它提供了像Due_date这样的答案。 为exmple: - invoice_date:2016-09-10,术语:6,我DUE_DATE答案:16-09-2016

  • 所以我excatly寻找,我要筛选的Due_date开始日期和结束日期:例如: -如果我们选择16-09-2016开始日期和结束日期是25-09-2016表中这两个事务只需要显示或过滤...所以我用daterange过滤器来实现这个解决方案,但无法得到解决方案,请帮助我们。

  • 的日期范围过滤器,如果我们使用ng_module是invoice_date可以正常使用,但我们不知道如何筛选Due_date申请,请帮助我们.... My Plunker

控制器:

.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" 

这下面的申请需要过滤表: -

DUE_DATE: -

<td> {{addDays(data.invoice_date,data.terms) | date:'dd-MM-yyyy'}}</td> 

回答

2

可以为此

HTML

<tr ng-repeat="data in record | myfilter:from:to"> 
    <td> {{data.supplier_name}}</td> 
    <td> {{data.invoice_date}}</td> 
    <td> {{data.terms}}</td> 
    <td> {{addDays(data.invoice_date,data.terms) | date:'yyyy-MM-dd'}}</td> 
</tr> 

JS

app.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]); 
       } 
      } 
      return result; 
     }; 
    }); 
+1

http://plnkr.co/edit/qxqVJmpl3T88eZV5oWrX创建自定义过滤器?p =预览查看这个plunker –

+1

感谢更新的plunker ...如果我们选择结束日期它没有显示正确的交易在表中例如: - 开始日期: - 16-09-2016然后,如果我们选择结束日期如2016年9月28日,它应该需要显示三笔交易,但只有两笔交易显示在表中,所以请检查并更新...谢谢... –

+0

请将月份更改为9月份的第一份。目前它将设置为十月 –

相关问题