2013-05-27 29 views
0

我有以下DIV:AngularJS - 同一控制下使用NG-重複兩次

<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重複工作正常並列出user.iduser.name,但是第二個ng-repeat(表單中的一個)不顯示信息,是否與我已經在前一個div中通過該元素的事實相關?

回答

1

你濫用了選擇指令:

<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

+0

這是偉大的工作,可你也許解釋了爲什麼我的路沒有工作? (我意識到這不是做這件事的最好方式,但我覺得它應該工作) – user838437