sub ng-repeats,以角度为单位获取(选中)复选框值

时间:2014-09-09 00:22:42

标签: javascript arrays angularjs checkbox

我正在使用一些嵌套的ng-repeats,而第三级则是一组复选框。最初我发送了一系列复选框选项,所以我这样做:

<div class="fadingOptionsHere" ng-repeat="fading in fade.options">
    <input type="checkbox" ng-model="fadingsHere" value="{{fading.id}}">{{fading.name}}
</div>

我正在寻找一种只能获取所选复选框值的方法。如果我只用一个只包含所选项的数组替换嵌套的选项数组,那将是非常理想的,所以我可以像这样发送json对象。

这是嵌套的第三级,因此我无法跟踪这些人。如何只为ng-repeat的每次迭代获取选择框的选定值(作为fading.id)?

我一直试图引用fadingsHere模型但没有成功。

谢谢!

2 个答案:

答案 0 :(得分:2)

你可以这样做。

在HTML中,如下所示。

<ul>
    <li data-ng-repeat="record in records">
        <input type="checkbox" ng-model="selected[record.Id]"> {{record.Id}}
    </li>
</ul>

在控制器中,您必须添加所选属性。

function MyCtrl($scope) {
 $scope.records = [ { "Id": 1, }, { "Id": 2 }, { "Id": 3 } ];
 $scope.selected = {};
 $scope.ShowSelected = function() {
    return $scope.selected 
};      

当您阅读所选属性时,您将获得所选列表。

<强> Demo

答案 1 :(得分:2)

您可以使用清单模型指令,如

      <input type="checkbox" class="form-control"
                           checklist-model="transaction.jobData[attribute.key]"
                           checklist-value="checkBoxAttributes.code">