星空2020 2023-10-29 15:27 采纳率: 64.1%
浏览 8
已结题

layui table的指定列,判定单元格里值的大小,然后根据条件添加背景色

当ok列和qty列里的数值大于5时,如何填充该单元格的背景色,如下无效。


```html
$.ajax({
            url: './data2?action=search',
            data:{
                "start":start,
                "end":end
            },
            dataType: 'json',
            success: function (res) {
              var myTable = table.render({
                  elem: '#myTable',
                  height: $(document).height() - $('#myTable').offset().top - 40,
                  totalRow: true,
                  limit: 200,
                  data: res.data,
                  page: false,
                   cols = [[
               { field: 'shift',  title: 'shift',align:'center',width: '5%',filter:true }
              ,{ field: 'id',  title: 'Er',align:'center',width: '5%',filter:true }
              ,{field: 'qty',  title: '数量',width: '4%', align:'center', style: 'font-size:12px' ,sort:true,filter:true,totalRow:true} 
              ,{field: 'OK',  title: '良品',width: '4%', align:'center', style: 'font-size:12px' ,sort:true,filter:true,totalRow:true,style:'font-weight:bold'} 
            ]];
                  done: function () {
                      // 遍历所有行并检查 'Scrap' 和 'OnhandWIP' 列的值
                      $('#myTable tbody tr').each(function() {
                          var data = $(this).data(); // 获取当前行的数据
                          var scrap = data.Scrap;
                          var onhandWIP = data.OnhandWIP;                          
                          if(parseInt(scrap) > 5 || parseInt(onhandWIP) > 5) { // 如果 'Scrap' 或 'OnhandWIP' 列的值大于5
                              // 为该单元格设置背景色为绿色
                              $(this).find('td[field="Scrap"], td[field="OnhandWIP"]').css('background-color', 'green');
                          } else { // 否则设置为红色
                              $(this).find('td[field="Scrap"], td[field="OnhandWIP"]').css('background-color', 'red');
                          }
                      });
                  }
              });
            },
            complete: function () {
                layer.close(loading)
            }
        }) 


```

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-30 00:51
    关注

    【以下回答由 GPT 生成】

    问题分析

    根据问题描述,您希望在Layui表格的特定列中,根据单元格的值是否大于5来添加背景色。根据您提供的代码,我可以看到您使用Layui的table组件加载数据并渲染表格,但没有涉及到如何根据条件添加背景色的部分。

    解决方案

    要实现在特定列中根据单元格的值添加背景色,您需要进行以下步骤:

    1. cols中为需要特定列添加背景色的单元格设置一个自定义的templet模板。
    2. 在自定义的templet模板中判断单元格的值是否大于5,并添加相应的背景色。

    下面我将逐步为您展示这些步骤的代码实现:

    html
    $.ajax({
        url: './data2?action=search',
        data: {
            "start": start,
            "end": end
        },
        dataType: 'json',
        success: function (res) {
            var myTable = table.render({
                elem: '#myTable',
                height: $(document).height() - $('#myTable').offset().top - 40,
                totalRow: true,
                limit: 200,
                data: res.data,
                page: false,
                cols: [
                    { 
                        field: 'shift', 
                        title: 'shift', 
                        align: 'center', 
                        width: '5%', 
                        filter: true 
                    },
                    { 
                        field: 'id', 
                        title: 'Er', 
                        align: 'center', 
                        width: '5%', 
                        filter: true 
                    },
                    { 
                        field: 'qty', 
                        title: '数量', 
                        width: '4%', 
                        align: 'center', 
                        templet: function(d){
                            // 判断qty的值是否大于5
                            if (d.qty > 5) {
                                return '<div style="background-color: yellow;">' + d.qty + '</div>';
                            } else {
                                return d.qty;
                            }
                        },
                        style: 'font-size:12px',
                        sort: true, 
                        filter: true, 
                        totalRow: true 
                    },
                    { 
                        field: 'OK', 
                        title: '良品', 
                        width: '4%', 
                        align: 'center', 
                        style: 'font-size:12px' 
                    }
                ]
            });
        }
    });
    

    在以上代码中,我在qty列的templet中添加了判断逻辑,如果qty的值大于5,则设置背景色为黄色;否则不添加背景色。您可以根据需要自定义背景色的样式,并在该部分进行修改。

    希望以上代码能解决您的问题。如果您有任何进一步的疑问,请随时向我提问。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月31日
  • 创建了问题 10月29日

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 易优eyoucms关于二级栏目调用的问题
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题