javascript - ng repeat list dropdown to filter another list dropdown -
i have 2 drop down lists following:
html
<div class="col-md-3">     <select class="form-control"  ng-model="select1">         <option value="" selected disabled>select first</option>         <option  ng-repeat="item in items" value="{{item.name}}">{{item.name}}</option>     </select> </div> <div class="col-md-2">     <select class="form-control"  ng-model="select2">         <option value="" selected disabled>select second</option>         <option ng-repeat="item in items|filter:itemfilter" value="{{item.stuff}}">{{item.stuff}}</option>     </select> </div>   my list of items looks like:
[   {name:"foo1", stuff:["bar1","bar2","bar3"]},   {name:"foo2", stuff:["bar4","bar5","bar6"]},   {name:"foo3", stuff:["bar7","bar8","bar9"]} ]   controller
 $scope.itemfilter = function (item) {          return item.name == $scope.select1; };   objective
when select foo1 first dropdown, second dropdown should have 3 options bar1,bar2,bar3
current
when select foo1 first dropdown, second dropdown contains 1 option ["bar1","bar2","bar3"]
one way use method filter, , call filter method on ngchange of first drop-down.
<select class="form-control"  ng-model="select1" ng-change="filteritems()">   here definition of filter method
$scope.filteritems = function() {   var index = 0;   (var = 0; < $scope.items.length; i++) {     if ($scope.items[i].name == $scope.select1) {       index = i;       break;     }   }   $scope.filtereditems = $scope.items[index].stuff; };   and bind second drop-down filtered list
<select class="form-control"  ng-model="select2">     <option value="" selected disabled>select second</option>     <option ng-repeat="item in filtereditems">{{item}}</option> </select>        
Comments
Post a Comment