基于layui的下拉列表的数据回显方法


Posted in Javascript onSeptember 24, 2019

静态网页+layui渲染

html代码

<div class="layui-form-item">
  <label class="layui-form-label">选择框</label>
  <div class="layui-input-block">
   <select id="t" name="quiz2">
    <option value="">请选择市</option>
    <option value="2">杭州2</option>
    <option value="3">杭州3</option>
    <option value="4">杭州4</option>
    <option value="5">杭州5</option>
   </select>
  </div>
 </div>

js代码

<script>
  // 遍历select
  $("#t").each(function() {
    // this代表的是<option></option>,对option再进行遍历
    $(this).children("option").each(function() {
      // 判断需要对那个选项进行回显
      if (this.value == 2) {
        console.log($(this).text());
        // 进行回显
        $(this).attr("selected","selected");
      }
    });
  })
</script>

动态网页+layui渲染(级联下拉列表)

后台将第一个下拉列表的数据传到前台

public String getApiInfoByTypePage(@PathVariable String type, Model model, HttpServletRequest request) {
    List<DopApiType> typeList1 = apiService.findApiTypeByPid(1);
    log.error(typeList1);
    model.addAttribute("typeList1", typeList1);
}

前台页面用的是Thymeleaf的遍历将数据加载出来,然后layui自动渲染

<div class="layui-input-inline">
      <select id="quiz1" name="quiz1" lay-filter="quiz1">
        <option value="1">请选择一级服务目录</option>
        <option th:each="list1:${typeList1}" th:value="${list1.typeId}" th:text="${list1.typeName }"></option>
      </select>
    </div>
    <div class="layui-input-inline" lay-filter="inline1">
      <select id="quiz2" name="quiz2" lay-filter="quiz2">
        <option value="0">请选择二级服务目录</option>
      </select>
    </div>

一级下拉列表的监听事件

//监听一级服务目录下拉列表的选择时间
    form.on('select(quiz1)', function (data) {
      
      var pId = data.value;// 一级列表的id
      $.post('/getApiTypeByPid', {'pId': pId, '': 2}, function (msg) {// 请求二级列表的数据
        // console.log(msg);
        $('#quiz2').empty();// 将二级列表的内容清空
        for (var i in msg) {// 遍历数据赋值给二级列表的内容
          var $content = $('<option value="' + msg[i].typeId + '">' + msg[i].typeName + '</option>');
          $('#quiz2').append($content);
        }
        form.render('select');// 注意:数据赋值完成之后必须调用该方法,进行layui的渲染,否则数据出不来
      });
    });

数据回显的核心逻辑(java的根据目录格式,自行编写)

js部分

// 服务目录的数据回显
    var sesType = [[${type}]];
    var sesType1 = [[${type1}]];// 一级目录id
    var sesStatus = [[${status}]];
    // 一级目录回显
    $("#quiz1").each(function () {// 遍历select
      $(this).children("option").each(function () {// 遍历option
        if (this.value == sesType1) {// 跟后台传过来的id相同就显示selected
          // console.log("一级目录"+$(this).text());
          $(this).attr("selected", "selected");
          $.post('/getApiTypeByPid', {'pId': sesType1, '': 2}, function (msg) {// 根据一级目录的id获取二级目录的信息
            // console.log(msg);
            $('#quiz2').empty();// 清空
            for (var i in msg) { // 遍历,进行赋值
              if (msg[i].typeId == sesType) {// 判断要回显的二级目录
                var $content1 = $('<option value="' + msg[i].typeId + '" selected="selected">' + msg[i].typeName + '</option>');
                $('#quiz2').append($content1);
              } else {
                var $content = $('<option value="' + msg[i].typeId + '">' + msg[i].typeName + '</option>');
                $('#quiz2').append($content);
              }
 
            }
            form.render('select');// 注意:一定要调用该方法进行中心渲染,否则数据是显示不出来的
          });
        }
      });
    });

以上这篇基于layui的下拉列表的数据回显方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jquery判断单个复选框是否被选中的代码
Sep 03 Javascript
表头固定(利用jquery实现原理介绍)
Nov 08 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
appendChild() 或 insertBefore()使用与区别介绍
Oct 11 Javascript
jQuery+CSS3实现3D立方体旋转效果
Nov 10 Javascript
vue2利用Bus.js如何实现非父子组件通信详解
Aug 25 Javascript
基于js中的原型(全面讲解)
Sep 19 Javascript
webpack打包js的方法
Mar 12 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
Jul 18 Javascript
vue自定义指令的创建和使用方法实例分析
Dec 04 Javascript
js 动态校验开始结束时间的实现代码
May 25 Javascript
浅谈克隆 JavaScript
Nov 02 Javascript
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 #Javascript
layui动态渲染生成select的option值方法
Sep 23 #Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
Sep 23 #Javascript
layui-select动态选中值的例子
Sep 23 #Javascript
layui多图上传实现删除功能的例子
Sep 23 #Javascript
layui 上传插件 带预览 非自动上传功能的实例(非常实用)
Sep 23 #Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 #Javascript
You might like
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
PHP实现的数组和XML文件相互转换功能示例
2018/03/15 PHP
javascript数组的扩展实现代码集合
2008/06/01 Javascript
javascript 二进制运算技巧解析
2012/11/27 Javascript
使用Node.js配合Nginx实现高负载网络
2015/06/28 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
JS实现旋转木马式图片轮播效果
2017/01/18 Javascript
如何理解jQuery中的ajaxSubmit方法
2017/03/13 Javascript
使用AngularJS2中的指令实现按钮的切换效果
2017/03/27 Javascript
详解http访问解析流程原理
2017/10/18 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
微信小程序云开发之模拟后台增删改查
2019/05/16 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
JavaScript一元正号运算符示例代码
2019/06/30 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
js 数据类型判断的方法
2020/12/03 Javascript
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
Python数据分析之双色球统计单个红和蓝球哪个比例高的方法
2018/02/03 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
python爬虫开发之使用python爬虫库requests,urllib与今日头条搜索功能爬取搜索内容实例
2020/03/10 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
HTML5语义化元素你真的用对了吗
2019/08/22 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
德国在线购买葡萄酒网站:Geile Weine
2019/09/24 全球购物
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
学校消防安全制度
2014/01/30 职场文书
运动会解说词100字
2014/01/31 职场文书
文秘个人求职信范文
2014/04/22 职场文书
2015年社区教育工作总结
2015/05/13 职场文书