基于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 相关文章推荐
修改发贴的编辑功能
Mar 07 Javascript
javascript中RegExp保留小数点后几位数的方法分享
Aug 13 Javascript
jquery 循环显示div的示例代码
Oct 18 Javascript
jquery+php实现滚动的数字特效
Nov 29 Javascript
5种JavaScript脚本加载的方式
Jan 16 Javascript
ExtJs异步无法向外传值和赋值的完美解决办法
Jun 14 Javascript
js 发布订阅模式的实例讲解
Sep 10 Javascript
Bootstrap table使用方法汇总
Nov 17 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
Dec 06 Javascript
vue 实现axios拦截、页面跳转和token 验证
Jul 17 Javascript
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
vue子传父关于.sync与$emit的实现
Nov 05 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
php生成图片缩略图功能示例
2017/02/22 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
php文件操作之文件写入字符串、数组的方法分析
2019/04/15 PHP
JQUERY操作JSON实例代码
2010/02/09 Javascript
js数组Array sort方法使用深入分析
2013/02/21 Javascript
Javascript alert消息换行的方法
2013/08/07 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
JS实现简单的二元方程计算器功能示例
2017/01/03 Javascript
jQuery EasyUI 为Combo,Combobox添加清除值功能的实例
2017/04/13 jQuery
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
javascript获取指定区间范围随机数的方法
2017/09/08 Javascript
webpack多入口文件页面打包配置详解
2018/01/09 Javascript
react redux入门示例
2018/04/19 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
Python基于Tkinter实现的记事本实例
2015/06/17 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
Python和Perl绘制中国北京跑步地图的方法
2016/03/03 Python
python安装教程
2018/02/28 Python
使用numpy和PIL进行简单的图像处理方法
2018/07/02 Python
Python DataFrame.groupby()聚合函数,分组级运算
2018/09/18 Python
Python3实现统计单词表中每个字母出现频率的方法示例
2019/01/28 Python
Python 仅获取响应头, 不获取实体的实例
2019/08/21 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
2020/04/10 Python
python如何支持并发方法详解
2020/07/25 Python
CSS3中的5个有趣的新技术
2009/04/02 HTML / CSS
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
Lowe’s加拿大:家居装修、翻新和五金店
2019/12/06 全球购物
Java面试笔试题大全
2016/11/23 面试题
商务邀请函范文
2014/01/14 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
法定代表人身份证明书
2015/06/18 职场文书