2014-07-23 3 views
1

У меня есть два элемента управления. основанный на одном элементе управления выбора второго выбора, должен быть заполнен точно так же, как в состоянии выбора страны будет заполнен второй элемент управления.зависимая ng-модель в angularjs

мой код похож -

<select ng-model="parentModel" id="ddlState"> 
<option value="mp"> mp </option> 
<option value="mh"> mh </option> 
</select> 

<select ng-model="childModel" id="ddlcity" ng-options = "a as a for a in $scope.coll[parentModel]"> 
</select> 

и сценарий -

<script> 

    var arr= new Array(); 
    arr["mp"] = ['map1','map2']; 
    arr["mh"] = ['mh11','mh2']; 


    myapp = angular.module("myapp", []); 

    myapp.controller("MyController", function ($scope) { 

     $scope.parentModel = "mh"; 
     //$scope.childModel="pune"; 
     $scope.coll=arr; 
    }); 
</script> 

Заранее спасибо ...

ответ

1

Вы имеете право идея - пару изменений, хотя:

У JavaScript не имеется ассоциативных массивов, поэтому используйте объект:

$scope.arr = {}; 
$scope.arr.mp = ["map1", "map2"]; 
$scope.arr.mh = ["mh11", "mh2"]; 

Нет необходимости ссылаться на $scope в вашем ng-options

ng-options = "a as a for a in arr[parentModel]" 

Не уверен, что $scope.coll должно было быть ... но это не требуется, чтобы зависимый select в вашем случае.

+0

Большое спасибо @tymeJV. –

Смежные вопросы