2017-02-09 12 views
0

私はDataTableの両方responsiveselect拡張子を使用している場合は、私は混乱の動作を取得:DataTablesは、子の行を選択して応答します。子の行を折りたたむ方法は?

  1. は、行をクリックして、それが選択され、子行を表示するように拡張されてしまいます。 OK。
  2. 別の行をクリックすると、この行が選択され展開されます。 まだOKです。
  3. 最初の行をもう一度クリックすると、選択されますが折りたたまれます。よくない。

jQuery UI Accordionと同様の動作を行えるようにするにはどうすればよいですか?意味は、私が新しい選択をした後に、選択されていない行の子をすべて折りたたみますか?

jsfiddle:https://jsfiddle.net/pm2gk9we/12/

+0

あなたは、jsFiddle、jsBin、CodePenなどの例を提供できますか? – Legends

+0

ここでは、編集を参照してください... – okkko

答えて

0

は、これは私が思い付いたものです - 私は、行をクリックした後、子行を隠す:

$("tr").unbind("click").click(function() { 
$("#table").DataTable().rows().every(function() { 
    this.child((this.data())).hide();   
}); 
}); 

私はこのようなresponsiveを初期化するときには、上のアイコンを非表示にする(正常に動作します左とすべてのセルの上に行を展開します。

new $.fn.dataTable.Responsive(table, { 
         details: { 
          type: 'column', 
          target: 'tr' 
         } 
        }); 

ソリューションフィドル:https://jsfiddle.net/pm2gk9we/13/

関連する問題