2017-06-15 90 views
0

具有角的過濾器的問題。1個字符過濾器,角JS

濾波在有角的,當i型兩個字符,如果i型1個字符,沒有反應的數據過濾器發生。

<input type="text" ng-model="filterAge"> 

<table> 
    <tr ng-repeat="r in vm.Data | filter: filterAge"> 
    <td>{{r.Age}}</td> 
    </tr> 
</table> 

我如何角爲1個字符做一個過濾器?

例如,如果鍵入1,它並不過濾,如果我輸入19,它過濾...

+0

您的未關閉,需要位於

標記中... – AKMorris

+1

值得一提的是,如果您只想按年齡過濾項目,你應該這樣做:'

' – developer033

+0

其實代碼使用較少的多個屬性進行篩選,我對其他領域也一樣,1個字符,什麼都沒有,發生了同樣的問題,超過1,過濾器發生,有沒有長度限制例如,在自動建議我們說maxLength搜索,例如:3,所以當用戶輸入3個字符,搜索發生,同樣,想知道是否有任何長度檢查發生在過濾器內?任何人都可以幫助我,如果我需要創建一個自定義過濾器? – Sharpeye500

回答

2

你可能沒有在vm.Data或所有任何一個數字的值值中包含'1' - 嘗試使用0-9中的所有數字進行輸入。

我有你的過濾器,個位數在這裏工作:

https://jsfiddle.net/AKMorris/7xn77eeh/

HTML:

<div data-ng-app='myApp' data-ng-controller='myCtrl'> 

    <input type="text" ng-model="filterAge"/> 

<table> 
<tr ng-repeat="r in vm.Data | filter: filterAge"> 
<td>{{r.Age}}</td> 
</tr> 
</table> 

</div> 

的Javascript:

var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
     $scope.vm = {}; 
    $scope.vm.Data = [ 
    {"Age":19}, 
    {"Age":1}, 
    {"Age":2}, 
    {"Age":3}, 
    {"Age":22}, 
    {"Age":43} 
    ]; 
}); 
+0

謝謝,當它不存在的值時,它可能有未定義或null ? – Sharpeye500

+0

都能跟得上的角度會直接跳過那些嘗試輸入「5」作爲更新過濾器在這裏:https://jsfiddle.net/AKMorris/7xn77eeh/2/ – AKMorris

-2
<tr ng-repeat="r in vm.Data | filter: filterAge> 

你錯過在ng-repeat結尾處輸入收尾引號(「)