我正在尝试获取表中复选框组的选中值。我有这样的情况


列出表中的所有记录,每行都有一个复选框




<td><input type="checkbox" value="{{my.id}}" /></td>






我在表格标题处有一个复选框,可以为所有表格复选框切换是/否

<th><input type="checkbox" id="checkAll" (click)="changeCheck()" [(ngModel)]="checkAllValue" /></th>


我在changeCheck()中的代码如下:

changeCheck(): void {

    var checkedItems = jQuery("#tbPayments input[type='checkbox'][id!=checkAll]");
    for (let item = 0; item < checkedItems.length; item++) {
        console.log(checkedItems[item].checked = true);
    }
}


但是打字稿抛出错误:
属性“ checked”在类型“ HTMLElement”上不存在

如何切换表格中的复选框列表。有人可以帮忙!

最佳答案

CheckedItems键入为可以从jQuery调用HTMLElement确定的最大类型的值。如果知道它是HTMLInputElement,则应将其强制转换为:

changeCheck(): void {
    var checkedItems = jQuery("#tbPayments input[type='checkbox'][id!=checkAll]") as HTMLInputElement[];
    for (let item = 0; item < checkedItems.length; item++) {
        console.log(checkedItems[item].checked = true);
    }
}

09-19 15:59