2015-06-09 78 views
1

已存在,我有以下的用戶對象加載使用AngularJS工廠:綁定AngularJS複選框,如果在JavaScript對象

{ 
    "user_id": "1", 
    "groups": [ 
     { 
      "name": "Object Group 10", 
      "group_id": 10 
     } 
    ] 
}, 
{ 
    "user_id": "2", 
    "groups": [ 
     { 
      "name": "Object Group 10", 
      "group_id": 10 
     }, 
     { 
      "name": "Object Group 12", 
      "group_id": 12 
     } 
    ] 
} 

我再有羣體加載的使用單獨的工廠。

[ 
    { 
     "name": "Object Group 10", 
     "group_id": 10 
    }, 
    { 
     "name": "Object Group 12", 
     "group_id": 12 
    } 
] 

我想,這樣,當在user.groups數組存在的組中,檢查到用戶窗體上的複選框結合。

見下面的代碼:

<div ng-repeat="group in groups"> 
    <input type="checkbox" ng-model="user.groups"> 
</div> 

任何幫助,將不勝感激。

回答

1
<div ng-repeat="group in groups"> 
    <input type="checkbox" ng-checked="groupExists(group.group_id, user.groups)"> 
</div> 

在控制器:

$scope.groupExists(id, groups) { 
    var groupIds = []; 
    for (var i=0; i < groups.length; i++) { 
     groupIds.push(groups[i].group_id); 
    } 
    return groupIds.indexOf(id) > -1; 
}