<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