当我在类型脚本中选择其中一个复选框时选择所有复选框

基努什

我有一个复选框列表。我在 HTML 代码中显示它们,如下所示:

<div class="col-sm-12" *ngIf="ControllerModel">
  <div *ngFor="let controller of ControllerModel" class="panel col-md-6 col-lg-6 col-xs-6">
    <div class="panel-heading">
      <span>
          {{controller.controllerDisplayName}}
      </span>

    </div>
    <div class="panel-body">
      <div *ngFor="let action of controller.actionsVM" class="col-auto my-1">
        <div class="custom-control custom-checkbox mr-sm-2">
          <input type="checkbox" class="custom-control-input"  id="customControlAutosizing">
          <label class="custom-control-label"  for="customControlAutosizing">{{action.displayName}}</label>
        </div>
      </div>
    </div>
  </div>
</div>

但是当我选择其中之一时,所有这些都被选中。

有什么问题?我该如何解决这个问题?

编辑

单击标签查看我的问题。单击 a1 或 a2 或 a3 , 。. . 枫叶

埃塔汗

在查看您链接的 stackblitz 时,您似乎尝试将选中状态绑定到文本字段 ( action.name)。这是真实的,将导致所有复选框都被勾选。相反,boolean向您添加一个字段ActionModel以绑定选中状态:

export interface Actionmodel {
    displayName:string;
    name:string;
    isChecked:boolean; // Needed to bind the checked state
    metaData:string;
}

然后使用 ngModel 将选中状态绑定到您的模型:

<input type="checkbox" class="custom-control-input" id="customControlAutosizing" [(ngModel)]="action.isChecked">

并将的初始值设置isChecked为false,例如:

...
{
  displayName: "a1",
  name: "a1",
  isChecked: false,
  metaData: "a1",
}
...

现在标签的问题是它们都引用相同的 id,并且所有复选框也具有相同的 id。要确保标签选择正确的复选框,请使用 ngFor 中的索引使 id 在 div 中唯一:

<div *ngFor="let action of controller.actionsVM; let i = index" class="col-auto my-1">
  <div class="custom-control custom-checkbox mr-sm-2">
    <input type="checkbox" class="custom-control-input" id="{{'customControlAutosizing' + controller.controllerName + i}}" [(ngModel)]="action.isChecked">
    <label class="custom-control-label" for="{{'customControlAutosizing' + controller.controllerName + i}}">{{action.displayName}}</label>
  </div>
</div>

编辑:由于您有两个带有复选框的 div,因此请附加controller.controllerName + i到输入 ID

在此处查看工作演示:Stackblitz

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当我们在Angular中选择另一个复选框时,如何自动取消选择一个复选框?

来自分类Dev

当我在选择中选择一个值时标记一个复选框

来自分类Dev

我有一个行表,其中有复选框。如何选择特定的复选框

来自分类Dev

当通过jQuery单击一个复选框时,如何选择所有复选框并取消选择?

来自分类Dev

当我选中所有复选框时如何选择所有复选框

来自分类Dev

从复选框列表中选择一个复选框

来自分类Dev

在 mySQL DB 中选择一个复选框

来自分类Dev

选择一个复选框

来自分类Dev

JQuery的:当选择另一个复选框复选框如何选择或取消所有复选框

来自分类Dev

当我使用jQuery单击“选择”按钮时,如何选择所有复选框

来自分类Dev

为什么我不能在我的 tableview 中选择一个复选框?

来自分类Dev

2个复选框,当我取消选中其中一个时,我希望选中另一个

来自分类Dev

选择单个复选框时如何选择所有复选框

来自分类Dev

jQuery单击一个复选框应选中一行中的所有复选框

来自分类Dev

如何选择一个复选框并自动选择其他相关的复选框?

来自分类Dev

当我选择时禁用复选框

来自分类Dev

在AngularJS中选择所有复选框

来自分类Dev

如何在handsontable中选择所有复选框

来自分类Dev

在复选框Angular中选择所有项目

来自分类Dev

从函数中的数组中选择所有复选框

来自分类Dev

在AngularJS中选择所有复选框

来自分类Dev

在mvvm中选择所有复选框绑定

来自分类Dev

在android中选择Listview的所有复选框

来自分类Dev

选中一个复选框时,请选中其他复选框

来自分类Dev

取消选中一个复选框后如何启用所有复选框?使用JavaScript

来自分类Dev

即使选中一个复选框,所有复选框也会被选中

来自分类Dev

未选择任何元素时,请取消选中该复选框。仅选中一个复选框。更改relevent div容器的背景颜色。

来自分类Dev

jQuery在两个复选框之间选择一个复选框

来自分类Dev

如果选择一个,则取消选中所有其他复选框

Related 相关文章

  1. 1

    当我们在Angular中选择另一个复选框时,如何自动取消选择一个复选框?

  2. 2

    当我在选择中选择一个值时标记一个复选框

  3. 3

    我有一个行表,其中有复选框。如何选择特定的复选框

  4. 4

    当通过jQuery单击一个复选框时,如何选择所有复选框并取消选择?

  5. 5

    当我选中所有复选框时如何选择所有复选框

  6. 6

    从复选框列表中选择一个复选框

  7. 7

    在 mySQL DB 中选择一个复选框

  8. 8

    选择一个复选框

  9. 9

    JQuery的:当选择另一个复选框复选框如何选择或取消所有复选框

  10. 10

    当我使用jQuery单击“选择”按钮时,如何选择所有复选框

  11. 11

    为什么我不能在我的 tableview 中选择一个复选框?

  12. 12

    2个复选框,当我取消选中其中一个时,我希望选中另一个

  13. 13

    选择单个复选框时如何选择所有复选框

  14. 14

    jQuery单击一个复选框应选中一行中的所有复选框

  15. 15

    如何选择一个复选框并自动选择其他相关的复选框?

  16. 16

    当我选择时禁用复选框

  17. 17

    在AngularJS中选择所有复选框

  18. 18

    如何在handsontable中选择所有复选框

  19. 19

    在复选框Angular中选择所有项目

  20. 20

    从函数中的数组中选择所有复选框

  21. 21

    在AngularJS中选择所有复选框

  22. 22

    在mvvm中选择所有复选框绑定

  23. 23

    在android中选择Listview的所有复选框

  24. 24

    选中一个复选框时,请选中其他复选框

  25. 25

    取消选中一个复选框后如何启用所有复选框?使用JavaScript

  26. 26

    即使选中一个复选框,所有复选框也会被选中

  27. 27

    未选择任何元素时,请取消选中该复选框。仅选中一个复选框。更改relevent div容器的背景颜色。

  28. 28

    jQuery在两个复选框之间选择一个复选框

  29. 29

    如果选择一个,则取消选中所有其他复选框

热门标签

归档