Angular 如何获取多个复选框值?

阿伦·库马雷什

我正在使用 Angular 中的复选框来选择多个元素,并且我正在尝试获取该复选框的值以进行提交。

相反,我将这些值作为true-s数组获取这就是我尝试过的:

export class CreateSessionComponent implements OnInit {
  form : FormGroup ;

  constructor(private formBuilder: FormBuilder) {}

  ngOnInit() {
    this.form = this.formBuilder.group({
      userdata :  new FormArray([
        new FormControl('', Validators.required)
      ])
    })
  }
}

userdata 是从数据库填充的动态数组。

<div formArrayName="useremail; let k = index">
  <div *ngFor="let data of userdata">
    <div>
      <input type="checkbox" name="useremail" formControlName ="{{k}}" [value]="data.email">{{data.email}}
    </div>
  </div>
</div> 
AJT82

由于您有多个要使用的值,因此您需要使用FormArray,因为FormControl只能捕获一个值。

从声明一个空的 formArray 开始:

this.myForm = this.fb.group({
  useremail: this.fb.array([])
});

迭代您的电子邮件,并观察更改事件并将相应的电子邮件和事件传递给onChange您检查它是否为 的方法checked,然后将相应的电子邮件添加到 formarray,如果未选中,则从表单数组中删除所选的电子邮件:

<div *ngFor="let data of emails">
  <input type="checkbox" (change)="onChange(data.email, $event.target.checked)"> {{data.email}}<br>
</div>

并且onChange

onChange(email:string, isChecked: boolean) {
  const emailFormArray = <FormArray>this.myForm.controls.useremail;

  if(isChecked) {
    emailFormArray.push(new FormControl(email));
  } else {
    let index = emailFormArray.controls.findIndex(x => x.value == email)
    emailFormArray.removeAt(index);
  }
}

演示

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在angular.js中同时获取复选框值和单选按钮值

来自分类Dev

在Angular Watch中获取复选框组值

来自分类Dev

如何在angular.js中获取复选框值

来自分类Dev

如何在Angular中接受多个选中的复选框?

来自分类Dev

如何过滤从Angular中的复选框值排序的列表?

来自分类Dev

如何使用 Angular 弹出复选框值?

来自分类Dev

Angular中的多个复选框

来自分类Dev

使用Angular获取复选框的价值

来自分类Dev

Angular 2 复选框值

来自分类Dev

如何在复选框Angular 8的复选框中以逗号分隔的字符串连接值

来自分类Dev

使用 Angular 2 反应形式通过单个复选框提交多个值

来自分类Dev

如何在所有复选框值的提交按钮上传递Angular JSON值

来自分类Dev

如何发布复选框值而不是布尔值 - Angular 5

来自分类Dev

如何从Angular JS中的关联数组创建多个复选框

来自分类Dev

如何在angular2的for循环中选择多个复选框?

来自分类Dev

Angular2如何获取所有选中的复选框

来自分类Dev

Angular Material如何获取复选框文本溢出省略号

来自分类Dev

Angular:如何映射“mat-checkbox”数组以获取与选中复选框关联的字符串

来自分类Dev

AngularJS多个复选框有疑问(Angular Material)

来自分类Dev

AngularJS多个复选框有疑问(Angular Material)

来自分类Dev

Angular 2:多个复选框切换

来自分类Dev

Angular2 - 带有多个复选框的 NgFor

来自分类Dev

使用Angular.js选中复选框时如何设置输入字段值

来自分类Dev

如何在Angular.js中的复选框上切换布尔值

来自分类Dev

如何使用angular js根据数据库中的值设置复选框的选中属性

来自分类Dev

如何返回在 ANGULAR Material 6 中选中和取消选中的复选框的布尔值

来自分类Dev

如何获取多个选定的复选框值

来自分类Dev

选中复选框时如何获取多个值

来自分类Dev

角度:如何获取多个复选框值

Related 相关文章

  1. 1

    如何在angular.js中同时获取复选框值和单选按钮值

  2. 2

    在Angular Watch中获取复选框组值

  3. 3

    如何在angular.js中获取复选框值

  4. 4

    如何在Angular中接受多个选中的复选框?

  5. 5

    如何过滤从Angular中的复选框值排序的列表?

  6. 6

    如何使用 Angular 弹出复选框值?

  7. 7

    Angular中的多个复选框

  8. 8

    使用Angular获取复选框的价值

  9. 9

    Angular 2 复选框值

  10. 10

    如何在复选框Angular 8的复选框中以逗号分隔的字符串连接值

  11. 11

    使用 Angular 2 反应形式通过单个复选框提交多个值

  12. 12

    如何在所有复选框值的提交按钮上传递Angular JSON值

  13. 13

    如何发布复选框值而不是布尔值 - Angular 5

  14. 14

    如何从Angular JS中的关联数组创建多个复选框

  15. 15

    如何在angular2的for循环中选择多个复选框?

  16. 16

    Angular2如何获取所有选中的复选框

  17. 17

    Angular Material如何获取复选框文本溢出省略号

  18. 18

    Angular:如何映射“mat-checkbox”数组以获取与选中复选框关联的字符串

  19. 19

    AngularJS多个复选框有疑问(Angular Material)

  20. 20

    AngularJS多个复选框有疑问(Angular Material)

  21. 21

    Angular 2:多个复选框切换

  22. 22

    Angular2 - 带有多个复选框的 NgFor

  23. 23

    使用Angular.js选中复选框时如何设置输入字段值

  24. 24

    如何在Angular.js中的复选框上切换布尔值

  25. 25

    如何使用angular js根据数据库中的值设置复选框的选中属性

  26. 26

    如何返回在 ANGULAR Material 6 中选中和取消选中的复选框的布尔值

  27. 27

    如何获取多个选定的复选框值

  28. 28

    选中复选框时如何获取多个值

  29. 29

    角度:如何获取多个复选框值

热门标签

归档