无法在AngularJS中设置选定的值

时间:2015-07-23 19:32:43

标签: angularjs

我的编辑表单上有几个选择框,现在当页面加载数据加载到其中时,这适用于所有文本框和复选框但不适用于选择框,我无法为它们设置所选值我已用Google搜索了这么多事情,但我似乎仍然无法找到我做错了什么,这是我的HTML:

<div class="form-group" ng-init="getRoles()">
    <label for="roles">Role</label>
    <select style="width: 100%;" data-toggle="select2"  ng-model="form.role_id" ng-options="item.id as item.role for item in roles">
    </select>
</div>

这是在我的控制器中获取和设置用户信息的功能:

$scope.getUserInfo = function() {

    UserService.get($stateParams.id)
        .success(function (data, status, headers, config) {
            if (data.user != undefined)
            {
                $scope.form = data.user;
            }
        })

};

这是在我的控制器中获取和设置角色的函数:

$scope.getRoles = function() {

    RoleService.get()
        .success(function (data, status, headers, config) {
            if (data.roles != undefined)
            {
                $scope.roles = data.roles;
            }
        })


};

我已经验证了返回的数据,这确实是正确的。 这是返回的JSON:

{"user":{"id":2,"email":"xxxxxxx@gmail.com","role_id":2,"institution_id":null,"is_active":1}}

这是返回的角色JSON:

{"roles":[{"id":2,"role":"System"},{"id":3,"role":"Administrator"},{"id":4,"role":"Instructor"}]}

1 个答案:

答案 0 :(得分:0)

你需要写

ng-model="user.role_id"