在选择下拉列表中设置值,该值由ng-repeat填充

时间:2016-10-20 10:45:42

标签: angularjs ng-repeat angular-digest

我有一个数组如下:

hunting_lands = {"1":{"name":"forest and rivers"},"2":{"name":"safari"},"3":{"name":"sea"},"4":{"name":"Mountains"}} 

我有一个选择下拉列表,我在json上面使用:

   <select  id="favourite_hunting_land">
       <option value ="[[key]]" ng-repeat="(key, value) in hunting_lands">[[value.name]]</option>
   </select>

现在我想显示一个值,例如 sea

为此我尝试过: 我设置了狩猎土地下拉菜单ng-model = fav_hunting_land

$scope.$watch('fav_hunting_land', function() {
        $scope.fav_hunting_land = 3;
    });

但是我有其他onchange函数不能正常工作,选择下拉列表也不起作用,即我无法更改值。 它工作并显示3个值。

所有想要的是在使用ng-repeat填充的选择下拉列表中显示所选值。

更新

我使用[[]]表达式使用插值。

2 个答案:

答案 0 :(得分:0)

使用表达式

<select  id="favourite_hunting_land">
       <option value ="key" ng-repeat="(key, value) in hunting_lands">{{value.name}}</option>
</select>

编辑:

您可以使用ng-init

设置初始值
   <select ng-init="selected='3'" ng-model="selected " ng-options="c.key as c.value for c in hunting_lands"></select>

<强> DEMO

答案 1 :(得分:0)

在HTML

中使用它

<select id="favourite_hunting_land" ng-model="selectedItem"> <option value ="{{item.name}}" ng-repeat="item in hunting_lands">{{item.name}}</option> </select> <br> Value selected is {{selectedItem}}