[Javascript] 動態隱藏和顯示 Layui 數據表格的列

需求:

  設置一個按鈕,動態隱藏或展示數據表格的列。默認隱藏部分列,點擊按鈕進行顯示,再次點擊就隱藏。

  基於 layui 的數據表格。

 

代碼:

  綁定按鈕事件。

  這裏需要設置的列比較多,表格字段名格式:d1_roi、d1_ltv、d2_roi、d2_ltv...

  原理:先清除每列的 layui-hide 的 class,然後給當前列每個格子加上固定寬度即可。

 1 //拓展列切換
 2         $(".js-showhide").click(function(){
 3             var roi_key = '';
 4             var ltv_key = '';
 5             var roi_cell_key = '';
 6             var ltv_cell_key = '';
 7             var days = [2,4,5,6,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,40,50,60,70,80,90];
 8 
 9             $.each(days, function (key, d) {
10                 //每一列的 key
11                 roi_key = "[data-field='d"+d+"_roi']";
12                 ltv_key = "[data-field='d"+d+"_ltv']";
13 
14                 //每個單元格的 類
15                 roi_cell_key = 'laytable-cell-' + $(roi_key).attr('data-key');
16                 ltv_cell_key = 'laytable-cell-' + $(ltv_key).attr('data-key');
17 
18                 //LTV 列
19                 if($(ltv_key).hasClass('layui-hide')){
20                     $(ltv_key).removeClass('layui-hide');
21                     $('.' + ltv_cell_key).css('width', '70px');
22                 }else{
23                     $(ltv_key).addClass('layui-hide');
24                 }
25 
26                 //ROI 列
27                 if($(roi_key).hasClass('layui-hide')){
28                     $(roi_key).removeClass('layui-hide');
29                     $('.' + roi_cell_key).css('width', '70px');
30                 }else{
31                     $(roi_key).addClass('layui-hide');
32                 }
33             });
34         });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章