Angular:HTMLテーブルハンドルのチェック/チェック解除/すべてチェック

ブレンダ

Angular 6の使用:

データを含むHTMLテーブルがあり、行の1つはチェックボックスで、ユーザーは個々の行を選択するか、ヘッダーの[すべてのチェックボックスを選択]を使用してすべての行を選択できます。

  <table class="table table-hover table-responsive table-striped">
    <thead>
      <tr>
        <th>
          <a>
            <input type="checkbox" [(ngModel)]="masterSelected" name="list_name" value="m1" (change)="checkUncheckAll()" />
          </a>
        </th>
        </tr>
    </thead>
    <tbody>
      <tr *ngFor="let c of data">
        <td>
          <input type="checkbox" [(ngModel)]="c.isSelected" value="{{c.name}}" (change)="isAllSelected()">
        </td>
       <td>other td data goes below</td>
      </tr>
    </tbody>
  </table>

  Below is my Angular component code:

  export class GridComponent implements OnChanges {
  @Input() data: any[] = [];
  allSelectedData: any[]=[];

   checkUncheckAll() {
    for (let i = 0; i < this.data.length; i++) {
      this.data[i].isSelected = this.masterSelected;
    }
    this.getCheckedItemList();
  }
  isAllSelected() {
    this.masterSelected = this.data.every(function (item: any) {
      return item.isSelected === true;
    });
    this.getCheckedItemList();
  }

  //Method called when checbox is checked and to update the array
  getCheckedItemList() {
    this.checkedList = [];
    for (let i = 0; i < this.data.length; i++) {
      if (this.data[i].isSelected) {
        this.allSelectedData.push(this.data[i]);
      }
    }       
    //Calling my service observable to store the data which other components can subscribe to
    this.myService.setSelectedData(this.allSelectedData);
  }  
 }

上記の関連コードを投稿するだけです。

ユーザーがチェックボックスをクリックするか、すべての行を選択して1つの行を選択すると、this.allSelectedDataを使用して選択したデータを保持します。

ここではすべてが正常に機能します。この問題は、ユーザーが選択した値のチェックを外すと発生します。this.allSelectedDataからその値を削除する方法がわかりません。

すべてをもう一度ループして個々の値を確認する必要がありますか、それとももっと良い方法があるかどうかを確認する必要がありますか。

私が探しているのは、this.allSelectedDataがすべての選択を保持する必要があるということです。誰かが新しい行をチェックしてからこれに追加し、誰かが行のチェックを外した場合はこれを更新してそのエントリを削除します。

ありがとう

カシーフ

これを試してください。これは、ユーザーがフロントエンドから選択した行です。

singleSelecttion(row){
this.selectAllItems=false;
row.isSelected =! row.isSelected;
if(row.isSelected ==true){
    var index = this.selectedRowArr.map(function(item){
        return item.Id;
    }).indexOf(row.Id);
    if(index== -1){
        this.selectedRowArr.push(row);
    }
}
else if(row.isSelected ==false){
    var index = this.selectedRowArr.map(function(item){
        return item.Id;
    }).indexOf(row.Id);
    if(index != -1){
        this.selectedRowArr.splice(index,1);
    }
}       

}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ハンズオンテーブルのすべてのチェックボックスを選択する方法

分類Dev

ハンズオンテーブルのすべてのチェックボックスを選択する方法

分類Dev

Angular 5、HTML、ブール値のチェックボックスがチェックされています

分類Dev

すべてのチェックボックスがチェックされている場合の自動チェックテーブル

分類Dev

Angular Materialテーブル:チェックボックスのバインドを解除する行からクリック

分類Dev

レベル3テーブルAngularJSの[すべて]チェックボックスをオンにします

分類Dev

Htmlテーブルの行IDチェックボックス

分類Dev

Pythontkinterチェックボックスのダブルチェック/チェック解除

分類Dev

ハードドライブのヘルスチェック

分類Dev

SQL SUM()すべて他のテーブルからのチェックあり

分類Dev

他のチェックボックスではなく、テーブルからすべてのチェックボックスを選択します

分類Dev

htmlテーブルのチェックボックスを整理しておく

分類Dev

テーマ/スタイルすべてのチェックボックス

分類Dev

すべてのリンクをフェッチせずにリンクテーブルをフェッチすることは可能ですか?

分類Dev

ヘッダーチェックボックスを選択すると、すべての行が選択されますが、いずれかの行がチェックされていない場合は、テーブルでヘッダーチェックボックスが選択解除されている必要があります

分類Dev

同一のハッシュテーブル値をチェックする

分類Dev

テーブル レイアウトのすべてのチェック ボックスをチェックする

分類Dev

PHPコードでHTMLチェックボックスをチェック/チェック解除

分類Dev

各動的テーブルのすべてのチェックボックスを選択します

分類Dev

razorviewテーブルのすべてのチェックボックスを選択します

分類Dev

テーブル列のすべてのチェックボックスを選択する方法-Vaadin7

分類Dev

テーブルJQueryのすべてのチェックボックスを選択します

分類Dev

jQueryはテーブル行内のすべてのチェックボックスを選択します

分類Dev

すべてのチェックボックスデータテーブルトリガーを選択

分類Dev

SQLテーブル内のすべての個別のIDの重複エントリのチェック

分類Dev

JQueryの「acitree」プラグイン。すべてをチェック/チェック解除する方法は?

分類Dev

Angularjsのすべてのテーブル行にチェックボックスを追加したい

分類Dev

チェックボックスをバインドします。ブールプロパティにチェックされていますか?

分類Dev

テーブル列のチェックボックスの配置

Related 関連記事

  1. 1

    ハンズオンテーブルのすべてのチェックボックスを選択する方法

  2. 2

    ハンズオンテーブルのすべてのチェックボックスを選択する方法

  3. 3

    Angular 5、HTML、ブール値のチェックボックスがチェックされています

  4. 4

    すべてのチェックボックスがチェックされている場合の自動チェックテーブル

  5. 5

    Angular Materialテーブル:チェックボックスのバインドを解除する行からクリック

  6. 6

    レベル3テーブルAngularJSの[すべて]チェックボックスをオンにします

  7. 7

    Htmlテーブルの行IDチェックボックス

  8. 8

    Pythontkinterチェックボックスのダブルチェック/チェック解除

  9. 9

    ハードドライブのヘルスチェック

  10. 10

    SQL SUM()すべて他のテーブルからのチェックあり

  11. 11

    他のチェックボックスではなく、テーブルからすべてのチェックボックスを選択します

  12. 12

    htmlテーブルのチェックボックスを整理しておく

  13. 13

    テーマ/スタイルすべてのチェックボックス

  14. 14

    すべてのリンクをフェッチせずにリンクテーブルをフェッチすることは可能ですか?

  15. 15

    ヘッダーチェックボックスを選択すると、すべての行が選択されますが、いずれかの行がチェックされていない場合は、テーブルでヘッダーチェックボックスが選択解除されている必要があります

  16. 16

    同一のハッシュテーブル値をチェックする

  17. 17

    テーブル レイアウトのすべてのチェック ボックスをチェックする

  18. 18

    PHPコードでHTMLチェックボックスをチェック/チェック解除

  19. 19

    各動的テーブルのすべてのチェックボックスを選択します

  20. 20

    razorviewテーブルのすべてのチェックボックスを選択します

  21. 21

    テーブル列のすべてのチェックボックスを選択する方法-Vaadin7

  22. 22

    テーブルJQueryのすべてのチェックボックスを選択します

  23. 23

    jQueryはテーブル行内のすべてのチェックボックスを選択します

  24. 24

    すべてのチェックボックスデータテーブルトリガーを選択

  25. 25

    SQLテーブル内のすべての個別のIDの重複エントリのチェック

  26. 26

    JQueryの「acitree」プラグイン。すべてをチェック/チェック解除する方法は?

  27. 27

    Angularjsのすべてのテーブル行にチェックボックスを追加したい

  28. 28

    チェックボックスをバインドします。ブールプロパティにチェックされていますか?

  29. 29

    テーブル列のチェックボックスの配置

ホットタグ

アーカイブ