【问题标题】:sub ng-repeats, getting (checked) checkbox values in angularsub ng-repeats,以角度获取(选中)复选框值
【发布时间】:2014-10-31 19:41:54
【问题描述】:

我正在使用一些嵌套的 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 模型,但没有成功。

谢谢!

【问题讨论】:

  • 当嵌套在子作用域中时,您不能将原始变量传递给ng-model。阅读范围和继承,了解为什么在 ng-model 中始终使用对象属性很重要

标签: javascript arrays angularjs checkbox


【解决方案1】:

你可以这样做。

在 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

【讨论】:

  • 处理它的好方法
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 2021-11-17
    • 1970-01-01
    相关资源
    最近更新 更多