layui實現點擊table復選框時,為其添加背景色


1、樣式

1         .tr_bj_color {
2             background-color: #FFE7BA !important;
3         }

 

2、監聽table復選框點擊事件

 1             table.on('checkbox(test)', function (obj) {
 2 
 3                 //全選時
 4                 if (obj.type == "all") {
 5                     if (obj.checked) {//全選中
 6                         var checkStatus = table.checkStatus('idTest');
 7                         var sdata = checkStatus.data;
 8                         if (sdata.length > 0) {//渲染背景顏色
 9                             $(".layui-table-body .layui-table tr").each(function () {
10                                 $(this).addClass("tr_bj_color");
11                             })
12                         }
13                     }
14                     else {//全部不選
15                         $(".layui-table-body .layui-table tr").each(function () {
16                             $(this).removeClass("tr_bj_color");
17                         })
18                     }
19                 }
20                 else {//單選
21                     var checkStatus = table.checkStatus('idTest');
22                     var sdata = checkStatus.data;
23                     if (obj.checked) {//選中
24                         obj.tr.addClass('tr_bj_color');
25                     }
26                     else {//取消選中
27                         obj.tr.removeClass('tr_bj_color');
28                     }
29                 }
30             });

 

3、監聽table單選按鈕點擊事件

 1                     table.on('radio(test)', function (obj) {
 2 
 3                         //移除所有背景色
 4                         $(".layui-table-body .layui-table tr").each(function () {
 5                             $(this).removeClass("tr_bj_color");
 6                         })
 7 
 8                         //選中時添加背景色
 9                         if (obj.checked) {
10                             obj.tr.addClass('tr_bj_color');
11                         }
12                     });

 4、實例

  1         layui.use('table',
  2                 function () {
  3                     var table = layui.table;
  4                     table.render({ //其它參數在此省略
  5                         elem: '#list',
  6                         id: 'idTest',
  7                         url: 'GetBasetaskPssList',
  8                         //toolbar: '#toolbarDemo',
  9                         defaultToolbar: [],
 10                         height: '270', //高度最大化減去差值
 11                         width: '970',
 12                         limit: 20,
 13                         where: { conn: Pub.getConn(), ck: Pub.getCK(), idspecs: $("#idspecs").val() },//如果無需傳遞額外參數,可不加該參數
 14                         //method: 'post' //如果無需自定義HTTP類型,可不加該參數
 15                         request: {
 16                             pageName: 'pageIndex', //頁碼的參數名稱,默認:page
 17                             limitName: 'pageSize' //每頁數據量的參數名,默認:limit
 18                         },//如果無需自定義請求參數,可不加該參數
 19                         response: {
 20                             statusName: "Code",
 21                             statusCode: 1, //規定成功的狀態碼,默認:0
 22                             msgName: 'Msg', //規定狀態信息的字段名稱,默認:msg
 23                             countName: 'TotalCount', //規定數據總數的字段名稱,默認:count
 24                             dataName: 'Data' //規定數據列表的字段名稱,默認:data
 25                         },//如果無需自定義數據響應名稱,可不加該參數
 26                         page: false, //開啟分頁
 27                         cols: [[ //表頭
 28                           { field: 'kid', type: 'radio' },
 29                           { field: 'worktask', title: '常規作業項', sort: true, width: "21.8%" },
 30                           { field: 'taskdesc', title: '作業目標描述', sort: true, width: "40%" },
 31                           { field: 'featuredesc', title: '屬性', sort: true, width: "30%" }
 32                         ]],
 33                         done: function (res, curr, count) {
 34                             //如果是異步請求數據方式,res即為你接口返回的信息。
 35                             //如果是直接賦值的方式,res即為:{data: [], count: 99} data為當前頁數據、count為數據總長度
 36                             console.log(res);
 37 
 38                             //得到當前頁碼
 39                             console.log(curr);
 40 
 41                             //得到數據總量  
 42                             console.log(count);
 43 
 44                             if ($("#idspecs_s").val() != "" && $("#idspecs_s").val() != null) {
 45 
 46                                 //獲取表單中的所有數據
 47                                 let tableData = layui.table.cache["idTest"]
 48 
 49                                 //獲取需要篩選匹配選中的數據
 50                                 let checkStatus = Pub.getCache("btasklistDtat");
 51 
 52                                 //進行循環判斷
 53                                 for (var i = 0; i < tableData.length; i++) {
 54                                     //篩選需要選中的行
 55                                    if (tableData[i].idactivity == checkStatus[0].idtask) {
 56                                        $(".layui-table-view[lay-id='idTest'] .layui-table-body tr[data-index= '" + i + "' ] .layui-form-radio").click();
 57                                    }
 58                                }
 59                             }
 60                         }
 61                     });
 62 
 63                     //頭工具欄事件
 64                     table.on('toolbar(test)',
 65                     function (obj) {
 66                         var checkStatus = table.checkStatus(obj.config.id);
 67                         switch (obj.event) {
 68                             case 'getCheckData':
 69                                 var data = checkStatus.data;
 70                                 layer.alert(JSON.stringify(data));
 71                                 break;
 72                             case 'getCheckLength':
 73                                 var data = checkStatus.data;
 74                                 layer.msg('選中了:' + data.length + ' 個');
 75                                 break;
 76                             case 'isAll':
 77                                 layer.msg(checkStatus.isAll ? '全選' : '未全選');
 78                                 break;
 79                         };
 80                     });

135 // 實現點擊表格復選框時,為其添加背景色 136 table.on('radio(test)', function (obj) { 137 138 //移除所有背景色 139 $(".layui-table-body .layui-table tr").each(function () { 140 $(this).removeClass("tr_bj_color"); 141 }) 142 143 //選中時添加背景色 144 if (obj.checked) { 145 obj.tr.addClass('tr_bj_color'); 146 } 147 }); 148 });

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM