I\'ve written the following proof-of-concept of an Angular app that allows a person to vote for President of the US.
filter
can only operate on arrays.
But you can create a custom filter:
ElectionApp.filter('females', [ function() {
return function (object) {
var array = [];
angular.forEach(object, function (person) {
if (person.gender == 'female')
array.push(person);
});
return array;
};
}]);
and then write
ng-options="name as person.name for (id, person) in ctrl.candidates | females">
You just forgot ":" after filter keyword.
<select
ng-model="ctrl.selection"
ng-options="person as person.name for person in ctrl.candidates | filter:{gender:'female'}">
</select>
a bit late maybe, but for others looking for info I'm using this.
$scope.deliveryAddresses = data;
Where data is complex Json id, name and city received from webapi in my Angular controller by $http.get
I'm using it in my Html page with the following snippet
ng-options="address.name for address in deliveryAddresses | filter:{name:search} track by address.id
where search is a reference to a textbox. Simple and efficient.
Hope it helps someone.