2017-09-15 16 views
0

Googleビジュアライゼーションテーブルを使用していて、リストにチェックボックスを追加しています。私はチェックボックスでいくつかの行を選択し、それらの選択された行でいくつかのアクションを実行したいと思います。しかし、sortまたはpageイベントが呼び出されると、テーブルは再描画され、チェックボックスはオフになります。Googleの視覚化テーブルでチェックボックスの状態を保持する方法

Here is the fiddle

どのように私はテーブルの後に、チェックボックスの状態を保つことができるソートされているか、ページが変更されましたか?

イベントが呼び出される前に、あなたがcheckedあなたの状態のチェックボックス保存するには、このような何かを行うことができ

答えて

1

ありがとう:

var checkboxes = document.querySelectorAll("#table_div input[type=checkbox"); 
    var checkboxesState = {}; 
    for (var i = 0; i < checkboxes.length; i++) { 
    checkboxes[i].addEventListener("change", function(){ 
     checkboxesState[this.getAttribute("id")] = this.checked; 
    }); 
    } 

とイベントが呼ばれた後に、それを復元:

google.visualization.events.addListener(table, 'sort', function(ev) { 
     //Needed, since the whole table DOM will change 
     checkboxes = document.querySelectorAll("#table_div input[type=checkbox"); 
      for (var i = 0; i < checkboxes.length; i++) { 
      if (checkboxesState[checkboxes[i].getAttribute("id")]){ 
       checkboxes[i].checked = checkboxesState[checkboxes[i].getAttribute("id")]; 
      } 
      } 
    }); 
+0

ありがとうございます、あなたはフィドルを編集することは可能でしょうか? –

+0

私はそれを試してみましょう。 –

+0

完了、私は必要な変更を加えて私の答えを編集しました。 –

関連する問題