我有一个数组如下:
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填充的选择下拉列表中显示所选值。
更新
我使用[[]]表达式使用插值。
答案 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}}