2017-06-15 13 views
0

角度にフィルタの問題があります。角型JSの1文字のフィルタ

角度でフィルタリングすると、2文字を入力するとデータフィルタが発生します.1文字を入力すると何も起こりません。私は1つの文字用のフィルタを行うには、角度作るにはどうすればよい

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

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

?例えば

私は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

ありがとう、値が存在しない? – Sharpeye500

+0

ここで更新のフィルターとして「5」と入力してみると、nope angularはそれらをスキップします:https://jsfiddle.net/AKMorris/7xn77eeh/2/ – AKMorris

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

あなたはミスを持っていますng-repeatの終了時に閉じる引用符( ")を編集しました

関連する問題