【问题标题】:How to Set checkbox properties in typescript如何在打字稿中设置复选框属性
【发布时间】:2017-09-15 00:29:18
【问题描述】:

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

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

<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);
    }
}

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

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

【问题讨论】:

  • 如果您只看到红色标记,那么我认为您可以忽略它,请参阅相同的问题/答案Here

标签: javascript jquery typescript checkbox angular2-forms


【解决方案1】:

HTMLElement 转换为具有checked 属性的HTMLInputElement

for (let item = 0; item < checkedItems.length; item++) {
    console.log((checkedItems[item] as HTMLInputElement).checked = true);
}

【讨论】:

  • 谢谢!我做到了
【解决方案2】:

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);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-06
    • 2022-01-16
    • 2021-04-23
    • 2021-11-05
    • 2018-10-03
    • 1970-01-01
    相关资源
    最近更新 更多