layui渲染表格使得某个单元格背景颜色按照要求进行变色

您所在的位置:网站首页 ajax渲染表格 layui渲染表格使得某个单元格背景颜色按照要求进行变色

layui渲染表格使得某个单元格背景颜色按照要求进行变色

2023-01-22 14:40| 来源: 网络整理| 查看: 265

  最近需要实现一个功能,根据返回的值的情况,使得layui某个单元格显示特定的颜色。下面我将解决思路和碰到的坑给大家讲一下

html前端页面是这个样子的

在前面的html页面里面的写法是这个样子的

   现在就是假设需要实现这样的功能,在表的姓名列,如果返回某个特定的名字,就设置这个单元格背景为红色,不是设置这一整行为红色!

  起初我的想法就是使用$("#trainList")的方法选中这个table,然后遍历这个表的行和列,然后再设置样色样式,然而选中的情况是只有一行。

  原因可能是layui只渲染了这个标题行,并不是在这里渲染的数据列,这是我碰到的第一个坑

 接下来,第二个坑,如果是的表格的标题栏有fixed属性,那么恭喜你,你会跟我一样碰到第二个坑,就是发现需要渲染的单元格怎么都变不了颜色,或者明明想让某一行都变色,结果就是有几个单元格变不了颜色,原因是layui渲染表格时,会让fixed属性的列单独渲染,导致你选不到,造成添加颜色样式失败

解决办法是属性列中去掉fixed属性

明白以上坑后,下面再解决如何渲染指定单元格的方法

//执行渲染table.render({elem: '#trainList' //指定原始表格元素选择器(推荐id选择器),id:"trainList",height: 'full-100' //容器高度,page:false,title: '培训记录表',limit: 1000//,skin: 'row'//这一行和下一行用来使数据隔行显示//,even: true,cols: [[{field: 'realname', title: '姓名', width: '5%', unresize: true, edit: false, sort: false},{ field: 'cardDate', title: '打卡时间', width: '10%', unresize: true, edit: false, sort: false },{ field: 'record', title: '当天记录', width: '85%', sort: false }//{ field: 'totalHour', title: '累计小时数', width: '10%', sort: false }]] //设置表头,done: function (res,curr,count){// console.log(res);//得到当前页码console.log(curr);//得到数据总量console.log(count);Layui_SetDataTableRowColor2();}});

首先在表格处添加done方法,具体用法详见layui官网数据表格页,然后也就是最关键的,怎么获取到这个表格的数据

做法是,在网页端的html部分,在这个表格的定义处的上一级div添加一个id字段,方便等会jquery找到它

如下图

然后就是不断的进行js读取结点的操作,接下来的你的网页结构可能与我不同,但是原理差不多,主要就是用到.children(),取下面的第几个结点,getElementsByClassName这几个js方法反复使用,一直获取到

的html段,如下图

let div=$("#divId");console.log('div',div);let nodeDivList=div.children();console.log("nodeDivList",nodeDivList);let nodeDiv2=nodeDivList[2];console.log("nodeDiv2",nodeDiv2);let table1=nodeDiv2.getElementsByClassName('layui-table-box');console.log("table123",table1);//let nodeDivList2=table1.children();console.log("table2",table1[0]);let t1=table1[0].getElementsByClassName('layui-table-body layui-table-main');//t1就是获取到的最终数据表格,包括数据的真表格if (t1 != null && t1.length > 0) {//查询t1的所有tr标签let trs = t1[0].querySelectorAll("tr");//遍历所有行和所有单元格,找到姓名是XX的,然后设置背景颜色为红色for(let i=0;i}

html list 容器 function console jquery js get main 写下你的评论吧 ! 推荐阅读 text http协议和web本质 http协议和web本质 转载:http:www.cnblogs.comdinglangarchive201202112346430.htmlhttp协议和web本质当你在浏览器地址栏敲入“http:www ... [详细] 蜡笔小新   2023-01-22 13:20:44 java Mac 中环境变量的配置 1.环境变量介绍1.1环境变量的作用环境变量和全局的变量有什么用呢?1.1.1使用场景1我们先来看这样的一个使用场景1,我们有一个程序Java,需要读取某个文件(datafile. ... [详细] 蜡笔小新   2023-01-22 13:19:46 java 环境变量,include搜索路径,lib库搜索路径 环境变量系统环境变量我们知道,我们经常要设置一些环境变量,系统环境变量我们非常容易理解。其实我们在windows中经常容易接触。其实环境变量是一个非常广泛的一个概念,它与web应用 ... [详细] 蜡笔小新   2023-01-22 13:14:43 export Oracle GoldenGate 12.3.0.1.4 安装配置 之03 (GoldenGate 安装) 1.安装包存放目录(xag100、xag101)2.创建安装目录(xag100,xag101)3.设置环境变量(xag100,xag101)4.解压缩(xag100,xag101) ... [详细] 蜡笔小新   2023-01-22 12:53:54 io Android Studio 绑定git AndroidStudio在下面的工具栏上面有一个terminal在里面可以使用cmd命令,我们可以在里面绑定git,这样每次提交代码的时候就不用每次都出去了。 步骤如下 ... [详细] 蜡笔小新   2023-01-22 12:15:16 io POJ 3468 A Simple Problem with Integers(线段树 区间更新) Description YouhaveNintegers,A1, A2,,AN.Youneedtodealwithtwokindsofoperations.Onety ... [详细] 蜡笔小新   2023-01-22 14:19:59 request Gradle build lintVitalRelease NullPointerException 如何解决《GradlebuildlintVitalReleaseNullPointerException》经验,为你挑选了1个好方法。 ... [详细] 蜡笔小新   2023-01-21 18:26:57 io Android Studio编辑器不会强调错误 如何解决《AndroidStudio编辑器不会强调错误》经验,为你挑选了1个好方法。 ... [详细] 蜡笔小新   2023-01-21 17:00:29 io Android Studio v1.0安装教程(Windows) Android Studio v1.0安装教程(Windows) 作者:xiangliqu原文地址:http:ask.android-studio.org?article9准备工具1,JDK安装包要求:JDK7以及以上版本。2 ... [详细] 蜡笔小新   2023-01-21 14:33:20 java 无法重命名资源(布局)文件(已安装Android Studio 3.0 Beta 3) 如何解决《无法重命名资源(布局)文件(已安装AndroidStudio3.0Beta3)》经验,为你挑选了1个好方法。 ... [详细] 蜡笔小新   2023-01-21 14:13:23 java 找不到android sdk的zipalign.exe 如何解决《找不到androidsdk的zipalign.exe》经验,为你挑选了1个好方法。 ... [详细] 蜡笔小新   2023-01-21 13:38:10 io 无法从设备模拟器-5554获取视图服务器版本并且无法从设备模拟器获取视图服务器协议版本-5554 如何解决《无法从设备模拟器-5554获取视图服务器版本并且无法从设备模拟器获取视图服务器协议版本-5554》经验,是哪儿的问题? ... [详细] 蜡笔小新   2023-01-21 12:01:43 java Android Studio调试器复制数组值 Android Studio调试器复制数组值 如何解决《AndroidStudio调试器复制数组值》经验,为你挑选了1个好方法。 ... [详细] 蜡笔小新   2023-01-21 11:42:28 java 使用android firebase sms身份验证的模拟器 如何解决《使用androidfirebasesms身份验证的模拟器》经验,为你挑选了1个好方法。 ... [详细] 蜡笔小新   2023-01-20 22:57:39 io Android studio重构失败(只读) 如何解决《Androidstudio重构失败(只读)》经验,为你挑选了2个好方法。 ... [详细] 蜡笔小新   2023-01-20 20:46:53 devbox 重报礼坊官肀网 这个家伙很懒,什么也没留下! Tags | 热门标签 jar hashcode actionscrip spring grid iostream less filter join httpclient require dll js php8 import express io export frameworks cookie solr java request split triggers tags loops python2 text python3 RankList | 热门文章 1如何通过主题调色板更改TextField下划线悬停颜色? 2python爬虫从入门到放弃前奏之学习方法 3Symfony2递归查询构建器 4ISI的晶圆级MRAM测试仪 5Python学习之路【第一篇】:Python简介与入门 6.NET使用AutoResetEvent实现多线程打印奇偶数 7mybatisplus分页传入参数后sql where条件没有limit分页信息操作 8Jersey REST客户端-多部分创建-并非来自File对象 9如何使用C++实现图书信息管理系统 10之前收藏的文摘为啥打不开了呢 11百度地图SDK开发过程中遇到的问题解析 12如何排序或订购结果docker ps --format? 13k8s 官方 配置文件使用教程 1412个不可不知的Sublime Text应用技巧和诀窍 1520222028全球与中国语音控制智能家居平台市场现状及未来发展趋势 PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具 Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有      


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3