2017-04-19 175 views
1

設置複選框的屬性我想在一個表中獲取複選框組的檢查值。我有有各行的複選框中的表像如何打字稿

  • 列表中的所有記錄的情況

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

但打字稿拋出一個錯誤: 屬性 '檢查' 的類型 'HTML元素'

不存在

如何切換我的表格中的複選框列表。有人可以幫忙!

+0

如果你只是看到了紅色的印記,那麼我認爲你可以忽略,看到同樣的問題/答案[這裏](HTTP:/ /stackoverflow.com/questions/33242324/typescript-how-to-tell-that-element-is-checkbox-so-element-checked-is-not-red-u) –

回答

1

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

演員HTMLElementHTMLInputElement它具有checked財產。

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

謝謝了!它工作 – Born2Code

+0

謝謝!我做的 – Born2Code