2016-09-07 138 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月份的第一份。目前它將設置爲十月 –

相關問題