基于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 相关文章推荐
javascript权威指南 学习笔记之null和undefined
Sep 25 Javascript
输入框的字数时时统计—关于 onpropertychange 和 oninput 使用
Oct 21 Javascript
关于JavaScript与HTML的交互事件
Apr 12 Javascript
不用锚点也可以平滑滚动到页面的指定位置实现代码
May 08 Javascript
jquery单行文字向上滚动效果示例
Mar 06 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
Nov 30 Javascript
JavaScript 限制文本框不可输入英文单双引号的方法
Dec 20 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 Javascript
一篇文章带你浅入webpack的DLL优化打包
Feb 20 Javascript
使用JS实现简易计算器
Jun 14 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+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
深入理解PHP之require/include顺序 推荐
2011/01/02 PHP
PHP版国家代码、缩写查询函数代码
2011/08/14 PHP
自定义php类(查找/修改)xml文档
2013/03/26 PHP
PHP创建桌面快捷方式的实例代码
2014/02/17 PHP
php插入排序法实现数组排序实例
2015/02/16 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
jquery获取多个checkbox的值异步提交给php的方法
2015/06/24 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
图片上传即时显示缩略图的js代码
2009/05/27 Javascript
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
js自定义事件及事件交互原理概述(一)
2013/02/01 Javascript
jquery跨域请求示例分享(jquery发送ajax请求)
2014/03/25 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
windows 下安装nodejs 环境变量设置
2017/02/02 NodeJs
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
详解如何模拟实现node中的Events模块(通俗易懂版)
2019/04/15 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
pyqt4教程之messagebox使用示例分享
2014/03/07 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
解决python 读取 log日志的编码问题
2019/12/24 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
哈利波特商店:Harry Potter Shop
2018/11/30 全球购物
网络方面基础面试题
2012/11/16 面试题
自我鉴定范文300字
2013/10/01 职场文书
求职信的要素有哪些呢
2013/12/26 职场文书
环境工程专业自荐信
2014/03/03 职场文书
工厂采购员岗位职责
2014/04/08 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
React配置子路由的实现
2021/06/03 Javascript
Python 图片添加美颜效果
2022/04/28 Python