2016-02-24 193 views
3

我使用ng-repeat到與名稱搜索過濾器數據綁定:NG重複日期範圍過濾器

<div ng-repeat='myoldrecs in myoldrec | filter:q as results '>......</div> 
$scope.myoldrec = [{name:ccc,date:13-02-2016},{name:ddd,date:14-02-2016}]; 
<input type="search" ng-model="q" placeholder="filter contacts..." class='form-control' style='width: 95%;'/> 

沒問題了這一點,它的工作的罰款。在此之後,我需要添加一個按日期範圍(開始日期和結束日期)的過濾器。

<div ng-repeat='myoldrecs in myoldrec | filter:q as results | myfilter:date1:date2 '>......</div> 

上面的文本框有日期,但它給了一個錯誤:

添加第二過濾器後

alias 'results | myfilter:date1:date2' is invalid --- must be a valid JS identifier which is not a reserved name.

我需要找到解決辦法,以添加第二個過濾並比較兩個日期範圍。在我的情況下,日期不是JSON,它是正常的日期格式,例如:10-02-2016。

+0

你能告訴我們你的整個代碼?或事件更好,添加snipet OT創建[plnkr(https://plnkr.co/) –

+0

'{名稱:DDD,日期:14-02-2016}'我相信你在無意中傳遞的數字「-2012 「作爲日期在這裏。引用你的字符串。 –

+0

這是我的plunker例如,從這個例子中,我需要多一個過濾器添加到時間範圍。[鏈接](http://plnkr.co/edit/h4E8RYnsMSP8yqvlfNBX?p=preview)@DanielBeck和所有。 – sibi

回答

-1

最後,我帶着一個解決方案來過濾兩個日期之間的日期範圍,而不是使用多個過濾器只是字符串日期轉換爲Date對象,並使用if語句爲大於或小於operators.Still的,做工精細的我。

<div ng-if="convertdateobj(data.timconverted) >= frmdate && convertdateobj(data.timconverted) <= todate"> 
    <!--ng-if="convertdateobj(data.timconverted) >= frmdate && data.timconverted <= todate" --> 
<table> 
<tr><td>{{data.label0}} - </td><td>{{data.value0}} - </td><td>{{data.timeadded}}</td></tr> 

</table> 
</div> 

控制器

$scope.convertdateobj = function(mydte){return new Date(mydte);}); 

此外,上述plunker鏈接(我的最後評論)已經更新到該解決方案。

+0

這裏是plunker鏈路,[鏈接](http://plnkr.co/edit/h4E8RYnsMSP8yqvlfNBX?p=preview) – sibi