最近实习公司给的新人练手项目用的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. 空间插值生物X适宜性分析

    1 前言 这期博主将根据示例大概讲一下插值分析. 2 问题阐述 根据要求,完成以下操作: (1)请就以上条件确定此地区适合X的生活范围,并制作专题图.专题图内容要求以地形和水系作为背景,且给出适宜区域 ...

  2. Mybatis执行流程浅析

    从三个主要的对象SqlSessionFactoryBuilder->SqlSessionFactory->SqlSession说起 inputStream = Resources.getR ...

  3. prometheus虚拟化安装脚本

    在线安装下载链接:https://files.cnblogs.com/files/blogs/705493/online_prometheus.sh 离线安装下载链接:https://files.cn ...

  4. CF1225E Rock Is Push (计数)

    观察性质计数题orz小贺 考场上跟榜才切 我们只能往下和往右走,那么只有连续的往下和往右可能会造成不合法的情况!如果当前这一步是向右,那么只有它前面连续的一段向右可能影响到它. 考虑把连续的向右/下一 ...

  5. Redis Cluster 集群搭建与扩容、缩容

    说明:仍然是伪集群,所有的Redis节点,都在一个服务器上,采用不同配置文件,不同端口的形式实现 前提:已经安装好了Redis,本文的redis的版本是redis-6.2.3 Redis的下载.安装参 ...

  6. C++ 并发编程2 --向线程函数传递参数

    1向线程函数传递参数比较简单,一般的形式如下 void f(int i,std::string const& s);std::thread t(f,3, "hello"); ...

  7. 你也可以很硬核「GitHub 热点速览 v.22.13」

    本周特推介绍了一个非常易上手,操作难度(主要难度在于机件购买)极低的硬件项目,SmartKnob 让你有个可玩性极高的控制仪.本周特推另外一个项目则是一个安全项目,打破你对 URL 是可靠.安全的认知 ...

  8. Java并发机制(7)--线程池ThreadPoolExecutor的使用

    Java并发编程:线程池的使用整理自:博客园-海子-http://www.cnblogs.com/dolphin0520/p/3932921.html 1.什么是线程池,为什么要使用线程池: 1.1. ...

  9. Java 中你怎样唤醒一个阻塞的线程?

    在 Java 发展史上曾经使用 suspend().resume()方法对于线程进行阻塞唤醒,但 随之出现很多问题,比较典型的还是死锁问题. 解决方案可以使用以对象为目标的阻塞,即利用 Object ...

  10. springboot使用jar包方式启动,找不到resources目录中的配置文件(运行时)FileNotFoundException

    将springboot项目打包成jar包,使用 java -jar jar包进行启动,富文本框使用ckeditor+ckfinder: 因为ckfinder自定义配置文件了,上传图片时出现了异常 De ...