最近实习公司给的新人练手项目用的layui,layui之前自己也接触过但是也就是用了用table组件,没有用过layer弹层这些东西,所以就了解了一下。

  首先遇到的一个问题就是下拉框没有样式,然后加样式需要在数据项或者表格外面套上form标签,然后在layer弹层success的回调函数里面加form.render()进行渲染,弹层外面需要使用form组件(如下)进行包围。然后这个success的回调是先写layero再写index,其它的例如yes回调相反。

            layui.use('form',function(){
              var form = layui.form;

            }

  然后第二个问题是下拉框数据回显选中,这个问题搞了有3天,想了好多方法,首先是想的拿监听到的对象直接在content里面页面代码里c:if进行判断,相等就选中,但是没有效果,我一直以为可能是el表达式${}不允许通过拼接这种方式比较,但是好像不是这个原因,好像是使用layui这个组件的原因。

  这种方式不可行的话,就想到第二种方式,通过监听到的对象拿到属性去后台查出数据返回前台,在前台都通过拿域对象里面的数据就可以比较了,但是做这个的时候遇到了问题,前端使用ajax发的请求,发请求没有问题,但是后端填充到request域中的数据前台页面拿不到,原因是ajax是局部刷新,前台通过${}就取不到值,如果能取到在f12sources中是可以看到的,在network请求中预览可以看到但是他返回给前台就没有数据了,然后想到了可不可以用别的方式发请求呢,于是用了window.location.href="",通过这个也是可以请求后台的,给它拼接上参数就行,但是这种是network看不到请求的,然后后端直接跳回了页面不是弹出修改窗口那个页面,这就难受了,虽然前台可以取到数据了但是对应的不是修改页面,这就难受了,反正也有问题。

  所以就找了最后一种方法,因为是使用的layui,那就看下layui有没有提供什么下拉框选中这种方案,查了挺多说的都用不上,没啥意义,然后其中一个是有用的,实现方案是在success回调里面加如下语句,layui中对下拉框做了封装,lay-value对应得是下拉框值,从监听对象拿到属性赋值给lay-value这个属性代表选中的数据,然后通过下拉框的id调siblings点击事件就ok了。

            var select = 'dd[lay-value='+data.reverse1+']';

            $('#uriskLevel').siblings("div.layui-form-select").find('dl').find(select).click();

  然后回显单选框选中的话比较简单,直接在layer弹层success回调里加上$(':radio[name="uaccident"][value='+data.reverse2+']').prop("checked",true);就ok了,不过需要在后面加上form.render()刷新一下,要不单选框没有效果。

layui下拉框渲染问题,以及回显问题的更多相关文章

  1. bootstrap selectpicker控件select下拉框动态数据无法回显的问题

    有关于selectpicker下拉框数据回显的问题,当查看一个对象的属性的时候, 发现有关于selectpicker的下拉框并没有将返回的数据进行回显,显示的都是请选择, 经查证,当查看属性的时候,他 ...

  2. 下拉框多选实现回显及sql

    <td class="tabTd"><label>客户来源:</label></td> <td><select c ...

  3. layui下拉框数据过万渲染渲染问题解决方案

    方案一:layui下拉框分页插件 https://fly.layui.com/jie/29002/ 此插件我用了下浏览器缓存有问题,而且当下拉框数据量过万后,会一直渲染不出来,期待后期作者优化 如图下 ...

  4. layui下拉框不显示的问题

    1.先检查有没有引入layui.js 2.然后看有没有被<form class="layui-form"></form>包住, 3.查看是否有以下代码 &l ...

  5. 【Layui】当Layui数据表格和Layui下拉框组合时发生的问题

    关于Layui数据表格用下拉框显示问题 如图所示 可以看见当点击下拉框时下拉选项被下拉框覆盖 此时你需要在数据表格渲染完成时的回调内添加如下代码即可 $(".sel_scrq"). ...

  6. layui下拉框后台动态赋值

    前台页面: <select name="xm" id="xm" lay-verify="required" lay-filter=&q ...

  7. Layui下拉框改变时触发事件

    layui.use(['form', 'layer'], function () { var form = layui.form(); var layer = layui.layer; form.on ...

  8. layUI 下拉框遮挡

    原项目中把layui内置的富文本编辑器替换成了百度的ueditor,但是出现了一点问题,下拉框被遮挡了! 在网上查询了一些方法,发现最简单的方法就是在当前页面的<head>标签中加入 &l ...

  9. Layui下拉选渲染

    下拉选渲染有很多方式,这个比较简单,记录一下: HTML代码如下: <div class="layui-input-inline"> <input type=&q ...

随机推荐

  1. ssm配置推荐

    1.JDK 1.8 2.Mysql 5.7 3.Maven 3.6.1

  2. UC_OS II学习笔记

    是一个可以基于ROM运行的.可裁减的.抢占式.实时.多任务OS内核: 可剥夺型的实时内核在任何时候都运行就绪了的最高优先级的任务. 一个任务,也称作一个线程,是一个简单的程序,该程序可以认为 CPU ...

  3. 【论文阅读】CVPR2022: Learning from all vehicles

    Column: March 23, 2022 1:08 PM Last edited time: March 23, 2022 11:13 PM Sensor/组织: 现leaderboard第一名, ...

  4. GET、POST请求

    GET和POST的区别主要有以下几个方面: 1.URL可见性: GET:参数URL可见: POST:URL参数不可见: 2.数据传输 GET:通过拼接URL进行传递参数: POST:通过body体传输 ...

  5. Prim算法求最小生成树

    首先在介绍这个算法之前我们要之明确一下什么是最小生成树的概念: 由 V 中的全部 n 个顶点和 E 中 n−1 条边构成的无向连通子图被称为 G 的一棵生成树,其中边的权值之和最小的生成树被称为无向图 ...

  6. Citus 分布式 PostgreSQL 集群 - SQL Reference(创建和修改分布式表 DDL)

    创建和分布表 要创建分布式表,您需要首先定义表 schema. 为此,您可以使用 CREATE TABLE 语句定义一个表,就像使用常规 PostgreSQL 表一样. CREATE TABLE ht ...

  7. 在Windows环境下构建Lua 入门

    在Windows环境下构建Lua 一:准备软件 1.C-compiler(TDM GCC)  http://tdm-gcc.tdragon.net/download 2.Lua源代码  http:// ...

  8. 什么是Hystrix?

    防雪崩利器,具备服务降级,服务熔断,依赖隔离,监控(Hystrix Dashboard)服务降级:双十一 提示 哎哟喂,被挤爆了. app秒杀 网络开小差了,请稍后再试.优先核心服务,非核心服务不可用 ...

  9. 请解释Spring Bean的生命周期?

    首先说一下Servlet的生命周期:实例化,初始init,接收请求service,销毁destroy: Spring上下文中的Bean生命周期也类似,如下: (1)实例化Bean: 对于BeanFac ...

  10. mysqlbench无法启动

    mysqlbean双击没有反应,应用无法启动,缺少3要素 都缺什么呢?看这个MySQL官方链接:https://dev.mysql.com/doc/workbench/en/wb-installing ...