<td><p><input  class="checkbox"  type="checkbox" value="Cars.id"> </p> </td>


这是带有复选框的汽车ID列表。

     <button (click)="duplicate()" ><ion-icon  name="color-wand"></ion-icon> </button>


单击此按钮,我想获取.ts文件中所有汽车的价值。
这是.ts中的功能

duplicate(){
    var checkedValue = document.querySelector('.messageCheckbox:checked');
}

最佳答案

为了获得选定的多个复选框的值,无需使用以上答案中给出的DOM选择器,您可以按角度方式进行操作。

为了获得复选框的所有值,Angular提供了几种方法。在此答案中,我将向您展示不使用任何formArray的情况。像这样 -

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

<button (click)="duplicate()" >Get values </button>
 ----------------------------
emailFormArray: Array<any> = [];
  Cars = [
    {email:"email1", id: 1},
    {email:"email2", id: 2},
    {email:"email3", id: 3},
    {email:"email4", id: 4}
  ];

  onChange(email:string, isChecked: boolean) {
      if(isChecked) {
        this.emailFormArray.push(email);
      } else {
        let index = this.emailFormArray.indexOf(email);
        this.emailFormArray.splice(index,1);
      }
  }

  duplicate() {
    console.log(this.emailFormArray);
  }


Working Example

09-20 20:25