如何在添加和编辑操作中处理AngularJS中的checkboxlist?

时间:2014-04-25 11:53:43

标签: angularjs

我是AngularJS的新手,面临多个复选框的问题。我有一个注册表单,我可以从数据库中选择颜色。

$scope.ColorList = { { ID: 1,Name:"Red" },{ ID: 2,Name:"Green" },{ ID: 3,Name:"Blue" }};

我使用下面的代码来渲染表单中的复选框。

<tr>
  <td>Favorite Colors</td>
  <td>
     <label data-ng-repeat="c in item.ColorList">
        <input type="checkbox" value="{{c.ID}}" /><span>{{c.Name}}</span> 
     </label>
  </td>
</tr>

现在,在添加操作期间,复选框正确呈现...但是如何将复选框与模型绑定以便我获得所选复选框的数组?

同样在编辑期间,我需要预选复选框以显示用户已保存的选项。

那么如何实现呢?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我认为大多数人会使用c作为他们的模型,然后将ng-model绑定到c上的某个属性。那么您的列表实际上只是item.ColorList

$scope.ColorList = [ { ID: 1,Name:"Red" },{ ID: 2,Name:"Green" },{ ID: 3,Name:"Blue" }];

<label data-ng-repeat="c in item.ColorList">
    <input type="checkbox" ng-model="c.Active" value="{{c.ID}}" /><span>{{c.Name}}</span> 
 </label>

$scope.getSelected = function(item){
     var results = [];
     angular.forEach(item.ColorList, function(c){
          if(c.Active){
              results.push(c);
          }
     });
     return results;
}