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

你可能感兴趣的:([Javascript] 动态隐藏和显示 Layui 数据表格的列)