layui下拉框渲染问题,以及回显问题
最近实习公司给的新人练手项目用的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下拉框渲染问题,以及回显问题的更多相关文章
- bootstrap selectpicker控件select下拉框动态数据无法回显的问题
有关于selectpicker下拉框数据回显的问题,当查看一个对象的属性的时候, 发现有关于selectpicker的下拉框并没有将返回的数据进行回显,显示的都是请选择, 经查证,当查看属性的时候,他 ...
- 下拉框多选实现回显及sql
<td class="tabTd"><label>客户来源:</label></td> <td><select c ...
- layui下拉框数据过万渲染渲染问题解决方案
方案一:layui下拉框分页插件 https://fly.layui.com/jie/29002/ 此插件我用了下浏览器缓存有问题,而且当下拉框数据量过万后,会一直渲染不出来,期待后期作者优化 如图下 ...
- layui下拉框不显示的问题
1.先检查有没有引入layui.js 2.然后看有没有被<form class="layui-form"></form>包住, 3.查看是否有以下代码 &l ...
- 【Layui】当Layui数据表格和Layui下拉框组合时发生的问题
关于Layui数据表格用下拉框显示问题 如图所示 可以看见当点击下拉框时下拉选项被下拉框覆盖 此时你需要在数据表格渲染完成时的回调内添加如下代码即可 $(".sel_scrq"). ...
- layui下拉框后台动态赋值
前台页面: <select name="xm" id="xm" lay-verify="required" lay-filter=&q ...
- Layui下拉框改变时触发事件
layui.use(['form', 'layer'], function () { var form = layui.form(); var layer = layui.layer; form.on ...
- layUI 下拉框遮挡
原项目中把layui内置的富文本编辑器替换成了百度的ueditor,但是出现了一点问题,下拉框被遮挡了! 在网上查询了一些方法,发现最简单的方法就是在当前页面的<head>标签中加入 &l ...
- Layui下拉选渲染
下拉选渲染有很多方式,这个比较简单,记录一下: HTML代码如下: <div class="layui-input-inline"> <input type=&q ...
随机推荐
- vue3-动态组件的要点
<!--动态组件--> <!--缓存,只缓存about和home组件--> <keep-alive exclude="about" > < ...
- 74cms v4.2.1-v4.2.129-后台getshell漏洞复现
0x00 影响范围 v4.2.1-v4.2.129 0x01 环境搭建 1. 先去官网下载 骑士人才系统基础版(安装包) 2.将下载好的包进行安装 0x02 复现过程 当前版本v4.2.111 点加工 ...
- 从零开始,开发一个 Web Office 套件(13):删除、替换已选中文字
这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...
- HTTP1.0和HTTP1.1和HTTP2.0的区别
1 HTTP1.0和HTTP1.1的区别1.1 长连接(Persistent Connection) HTTP1.1支持长连接和请求的流水线处理,在一个TCP连接上可以传送多个HTTP请求 ...
- Oracle入门基础(十)一一数据库其他对象-视图/序列/索引/同义词
SQL> --视图 SQL> create view empinfoview as select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname ...
- 为什么要使用 rabbitmq?
1.在分布式系统下具备异步,削峰,负载均衡等一系列高级功能; 2.拥有持久化的机制,进程消息,队列中的信息也可以保存下来. 3.实现消费者和生产者之间的解耦. 4.对于高并发场景下,利用消息队列可以使 ...
- mybatis 自定义插件的使用
今天看了别人的mybatis的教学视频,自己手写了一个简单的自定义的插件,有些细节记录一下. 先看下mybatis的插件的一些说明: MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用. ...
- 说几个 zookeeper 常用的命令?
常用命令:ls get set create delete 等.
- 比较数字范围:判断number存在(minRange ~ maxRange)范围中
一.使用场景 当需要比较范围时 如: 这种情况,如果要写三个表达式会很长,这时候就可以用这个工具类进行比较 number:用户输入(长,宽,高) minRange: 0.0 maxRange:33 二 ...
- jdbc的快速入门(需要mysql-connector-java-5.1.39-bin.jar包)
package Lianxi;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;i ...