0

私は次のDIVを持っています:

<div ng-controller="userControl">
    <div ng-repeat="user in users">
        <u>{{user.id}} : {{user.name}}</u><br />
        <div ng-repeat="role in user.roles">
            {{role.name}}
        </div>
        <br />
    </div>
    <form ng-submit="addRoleToUser()">
        <select name="userSelect">
        <div ng-repeat="user in users">
                <option value="{{user.id}}">{{user.name}}</option>
        </div>
        </select>
        <input type="submit" value="add">
    </form>
</div>

これは私のコントローラーです:

function userControl($scope,$http) {
    $scope.users = [
                        {"id":"0","name":"Username1","roles":[{}]},
                        {"id":"1","name":"Username2","roles":[{}]},
                    ]

    $scope.addUser = function() {
        var nextid = $scope.getNextId();
        $scope.users.push({id:nextid,name:$scope.userName});
        /*
        $.post({}); //Push changes to server
        */
        $scope.userName = '';
    };

    $scope.getNextId = function() {
        var count = 0;
        angular.forEach($scope.users, function(data) {
          count = data.id;
        });
        var count2 = parseInt(count)+1;
        return count2;
     };

}

最初の ng-repeat が正常に動作し、 and をリストしていることがわかりますがuser.iduser.name2 番目の ng-repeat (フォーム内のもの) には情報が表示されません。これは、既にループしたという事実に関連しています。前のdivの要素?

4

1 に答える 1

1

select ディレクティブを誤用しました:

<select ng-model="selectedUser" name="userSelect" ng-options="user.id as user.name for user in users">

http://docs.angularjs.org/api/ng.directive:select

于 2013-05-27T11:03:55.877 に答える