为什么选择项目没有被填充

时间:2014-04-28 11:37:23

标签: angularjs

这是我的HTML代码

<select id="userGroups" name="userGroups" ng-model="userGroups" class="form-control">
    <option value="{{grp.groupId}}" ng-repeat="grp in groups">{{grp.groupName}}</option>
</select>

这是我的控制器

function MyController($scope, MYAPI) {
    $scope.groups = MYAPI.GroupList.get();
}

为什么选项没有被普及?

好的我已经更改了我的控制器以在填充视图之前解析GroupList,但它仍未显示

MYApp.controller('CreateUserController', ['$scope', 'groupList', function($scope, groupList) {
    $scope.groups = groupList;
    debugger;   //here I can see groups has objects which I need to display

}]);

但仍然没有加载下拉...

2 个答案:

答案 0 :(得分:1)

正如马丁所说,你需要使用ng-options。

这应该是这样的:

<select id="userGroups" 
        name="userGroups" 
        ng-model="userGroups" 
        ng-options="grp.groupId as grp.groupName for grp in groups"
        class="form-control">
</select>

答案 1 :(得分:0)

根据AngularJS documentation of select,您必须使用ng-optionsng-repeat

不支持此用例
  

ngOptions<option>元素提供迭代器工具,当您希望将ngRepeat模型绑定到非字符串值时,应使用该工具代替select 。这是因为选项元素目前只能绑定到字符串值。