Sembra che dovrebbe essere facile, ma io sono nuovo per l'angolatura e non afferro questo concetto molto bene. Spero di eseguire una ng-repeat su un set di dati e quindi essere in grado di filtrare i risultati in base a un'opzione selezionata in una casella di selezione, utilizzando lo stesso set di dati.Filtra i risultati in angularjs in base al valore selezionato
Ho creato una serie di opzioni e le ho assegnate alla variabile $ scope.OurTeamCategories.
angular.module('app', [])
.controller('Main', ['$scope', function($scope) {
$scope.ourTeamCategories = [
{"id":18,"title":'Management'},
{"id":19,"title":'Administration'},
{"id":21,"title":'Designers'},
{"id":22,"title":'Accounts'},
]
}]);
Poi nel file HTML sto creare dinamicamente la casella di selezione utilizzando NG-opzioni e uso ng-repeat per creare un elenco di queste categorie. Tutto questo funziona bene, ma ora voglio essere in grado di filtrare
<div ng-app="app">
<div ng-controller="Main">
<select name="show-filter" ng-model="catFilter" ng-options="category.title for category in ourTeamCategories">
<option value="{{category.id}}"></option>
</select>
<li ng-repeat="cat in ourTeamCategories">
<h3>{{cat.title}}</h3>
<!-- for testing -->
<b>input: {{catFilter.id}}</b> - - ID: {{cat.id}}
</li>
</div>
</div>
ho pensato di essere in grado di eseguire un filtro nel seguente modo, ma io sono sempre un errore. Qualcuno può dirmi cosa sto facendo di sbagliato?
<li ng-repeat="cat in ourTeamCategories | filter {cat.id:catFilter.value}">
Ho creato un plunker qui: http://plnkr.co/edit/YwHknAm3X2NUdxDeUjS8?p=preview
Grazie! Penso che entrambi i commenti di idursun e siano validi e l'errore è andato via. Tuttavia, sembra che non voglia filtrare selezionando l'opzione di selezione pertinente. – Starfs
@Starfs dare un'occhiata alla mia risposta di aggiornamento .. –
Sto effettivamente ottenendo i valori previsti nelle opzioni di selezione con il mio codice di selezione corrente. I valori sono 18,19,21,22. Quando applico il tuo aggiornamento, i valori delle opzioni selezionate sono ora 0,1,2,3 che non sono rilevanti per il filtro che sto cercando di realizzare. – Starfs