angular.module('app', []).controller('myController', function($scope) { $scope.friends = [ {name:'John', age:25, gender:'boy'}, {name:'Jessie', age:30, gender:'girl'}, {name:'Johanna', age:28, gender:'girl'}, {name:'Joy', age:15, gender:'girl'}, {name:'Mary', age:28, gender:'girl'}, {name:'Peter', age:95, gender:'boy'}, {name:'Sebastian', age:50, gender:'boy'}, {name:'Erika', age:27, gender:'girl'}, {name:'Patrick', age:40, gender:'boy'}, {name:'Samantha', age:60, gender:'girl'} ]; $scope.genderSelector = [ {name:'男子', value:'boy'}, {name:'女子', value:'girl'} ]; $scope.ageSelector = [ {num:25, value:25}, {num:30, value:30} ]; $scope.search = {}; $scope.$watch('gender', function(value) { }); $scope.$watch('age', function(value) { }); });
<div ng-app="app"> <div ng-controller="myController"> <select ng-model="search.gender" ng-options ="gender.value as gender.name for gender in genderSelector"> <option value="">ALL</option> </select> <select ng-model="search.age" ng-options ="age.value as age.num for age in ageSelector"> <option value="">ALL</option> </select> <ul> <li ng-repeat="data in friends | filter:search" >{{data.name}}</li> </ul> </div> </div>
</style> <!-- Ugly Hack to make remote files preload in jsFiddle --> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.9/angular.min.js"></script> <style>