使用包含ng-repeat的ng-repeat显示表

时间:2015-04-07 23:24:32

标签: angularjs angularjs-ng-repeat

你好这个表用棱角JS显示。

 <div class="table-responsive ">    
<table class="table table-bordered table-hover">
              <thead>
                    <tr>
                        <th>Nom</th>
                        <th>Pr&eacutenom</th>
                        <th>login</th>
                        <th>email</th>
                        <th>group</th>
                    </tr>           
                   </thead>

                <tbody>
                    <tr ng-repeat="user in allusers ">
                        <td>{{ user.lastname}}</td>
                        <td>{{ user.firstname}}</td>
                        <td>{{ user.login}}</td>
                        <td>{{ user.email }}</td>
                        <td>
                            <select class="form-group"
                            ng-click="getAllGroupsofUser(user.id)">
          <option ng-repeat="group in groupsofuser">{{group.name}}</option>
                        </select>
                         </td>
                    </tr>

                </tbody>        
    </table> 
    </div>

我正在使用AngularJS使用RESTful Web服务。当我单击选择(在列组中的特定用户行中)时,我得到了正确的列表,但问题是所有列组都将更改并具有相同的选择选项。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

问题是user的所有行共享相同的$scope.groupsofuseruser需要单独拥有自己的groupsofuser

以下代码(不带测试)可能会达到您想要的效果。

这是html。

<table>
    <tbody>
        <tr ng-repeat="user in allusers">
            <td>{{user.lastname}}</td>
            <td>
                <select ng-click="getAllGroupsofUser(user)">
                    <option ng-repeat="group in user.groupsofuser">{{group.name}}</option>
                </select>
             </td>
        </tr>
    </tbody>        
</table>

这是控制器代码。

$scope.getAllGroupsofUser = function(user){
    user.groupsofuser = someservice_use_rest(user.id);
};

我希望这可以帮到你。祝你好运!!