Angularjs dynamische Filterung
Sagen wir, ich habe Modell:
$scope.items = [{'name: 'test',value:'some value',category:'test'},{name:'value',value:'test',category:'test'}];
Dem iteriert wird:
<div ng-repeat="item in items|filter:search">
{{item.name}} – {{item.value}}
</div>
Haben und ein Eingabe-Feld mit filter Modell:
<input type="text" ng-model="search.$" />
Geben, wenn ich 'test', es zeigt die beiden Datensätze. Ich muss jedoch dynamisch wählen Sie die Eigenschaften des ursprünglichen Objekts, die bei der Suche verwendet werden.
So, ich habe drei Checkboxen (im realen Projekt habe ich mehr Möglichkeiten zu kombinieren):
<input type="checkbox" ng-model="search.name" />
<input type="checkbox" ng-model="search.value" />
<input type="checkbox" ng-model="search.category" />
Und in meinem controller:
$scope.search = {name: true, value: true,category: true};
Dieser zeigt nicht alle Elemente an alle. Aber ich brauche zum filtern der Elemente nach verschiedenen Felder ändern der Einstellungen zur Suche on-the-fly (und die Kombination von Ihnen in verschiedenen Varianten)
Wie ist das möglich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Suche eine Funktion (), die sich mit der checkbox-Wert Dank der $scope.
erklären in Ihrem controller, so etwas wie dieses
Also in Ihrem template verwenden, es
Plnkr Hier
Siehe Beispiel unten
JS:
HTML: