获取ngrepeat angularjs上的选中复选框

时间:2015-05-20 08:56:49

标签: angularjs

我在angularjs中使用ng-repeat来显示几个复选框。

<div class="checkbox" ng-repeat="subject in priceinformation.subjects">
   <label>
       <input type="checkbox" ng-model="priceinformation.subscriptioninfo.subject.name"> {{subject.name}}
   </label>
</div>

问题是所有复选框都使用相同的模型,因此,如果我选中一个,则检查所有复选框。我希望以模型可以解析为不同值的方式来实现。例如

ng-model="priceinformation.subscriptioninfo.subject.{{subject.name}}"

{{subject.name}} 应该解析为英语,历史记录等,因此每个复选框都有不同的模型。 但ng-model="priceinformation.subscriptioninfo.subject.{{subject.name}}"给出了错误。

注意:{{subject.name}}正在其他地方正确使用解析,'priceinformation.subscriptioninfo.subject'正常工作。

2 个答案:

答案 0 :(得分:1)

使用[]代替.

ng-model="priceinformation.subscriptioninfo[subject.name]"

Plnkr Demo

<强>脚本

$scope.priceinformation ={};

  $scope.priceinformation.subjects = [{"name":"English"},{"name":"History"},{"name":"Maths"}];

  $scope.priceinformation.subscriptioninfo ={};

答案 1 :(得分:0)

<div ng-repeat="item in checks">
    <input type="checkbox" ng-model="item.checked">{{item.name}}
</div>

See Plunkr