基于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 相关文章推荐
使用prototype.js 的时候应该特别注意的几个问题.
Apr 12 Javascript
javascript开发中因空格引发的错误
Nov 08 Javascript
JS自动缩小超出大小的图片
Oct 12 Javascript
js创建元素(节点)示例
Jan 02 Javascript
JS+CSS实现Li列表隔行换色效果的方法
Feb 16 Javascript
详解JavaScript的while循环的使用
Jun 03 Javascript
基于jQuery实现动态搜索显示功能
May 05 Javascript
详解Vue.js——60分钟组件快速入门(上篇)
Dec 05 Javascript
js评分组件使用详解
Jun 06 Javascript
javascript实现文字无缝滚动效果
Aug 26 Javascript
vue.js实现的幻灯片功能示例
Jan 18 Javascript
vue实现前台列表数据过滤搜索、分页效果
May 28 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
解析zend Framework如何自动加载类
2013/06/28 PHP
Yii2中datetime类的使用
2016/12/17 PHP
让Laravel API永远返回JSON格式响应的方法示例
2018/09/05 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
mysql输出数据赋给js变量报unterminated string literal错误原因
2010/05/22 Javascript
js+css在交互上的应用
2010/07/18 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
2015/12/17 Javascript
基于JS代码实现图片在页面中旋转效果
2016/06/16 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
详解Bootstrap各式各样的按钮(推荐)
2016/12/13 Javascript
jquery uploadify如何取消已上传成功文件
2017/02/08 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
深入浅析js原型链和vue构造函数
2018/10/25 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
jQuery实现图片下载代码
2019/07/18 jQuery
python使用cookie库操保存cookie详解
2014/03/03 Python
Python FTP操作类代码分享
2014/05/13 Python
python自动zip压缩目录的方法
2015/06/28 Python
利用python获取某年中每个月的第一天和最后一天
2016/12/15 Python
python 3.5实现检测路由器流量并写入txt的方法实例
2017/12/17 Python
python实现本地图片转存并重命名的示例代码
2018/10/27 Python
利用python计算windows全盘文件md5值的脚本
2019/07/27 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
Pandas之read_csv()读取文件跳过报错行的解决
2020/04/21 Python
Python之字符串的遍历的4种方式
2020/12/08 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
班级体育活动总结
2014/07/05 职场文书
教师党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2015年爱牙日活动总结
2015/03/23 职场文书
停电调休通知
2015/04/16 职场文书
2015年机械设备管理工作总结
2015/05/04 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
Python turtle实现贪吃蛇游戏
2021/06/18 Python
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android