基于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 23 Javascript
一些实用的jQuery代码片段收集
Jul 12 Javascript
JS获得URL超链接的参数值实例代码
Jun 21 Javascript
jQuery实现tag便签去重效果的方法
Jan 20 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 Javascript
JavaScript实现移动端滑动选择日期功能
Jun 21 Javascript
jQuery post数据至ashx实例详解
Nov 18 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
Jun 11 Javascript
webpack4 处理CSS的方法示例
Sep 03 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
Apr 28 Javascript
详解JavaScript作用域 闭包
Jul 29 Javascript
原生微信小程序开发中 redux 的使用详解
Feb 18 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函数和特点
2013/08/08 PHP
php短信接口代码
2016/05/13 PHP
php结合md5的加密解密算法实例
2016/09/30 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
2016/03/22 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
node.js+express+mySQL+ejs+bootstrop实现网站登录注册功能
2018/01/12 Javascript
js根据后缀判断文件文件类型的代码
2020/05/09 Javascript
[52:06]完美世界DOTA2联赛决赛日 Inki vs LBZS 第一场 11.08
2020/11/10 DOTA
Python内置数据类型详解
2014/08/18 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
在Pycharm terminal中字体大小设置的方法
2019/01/16 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
pandas中的series数据类型详解
2019/07/06 Python
Django REST framework 视图和路由详解
2019/07/19 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
Python如何通过百度翻译API实现翻译功能
2020/04/02 Python
Jupyter Notebook 安装配置与使用详解
2021/01/06 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
国际奢侈品品牌童装购物网站:Designer Childrenswear
2019/05/08 全球购物
铁路工务反思材料
2014/02/07 职场文书
保护环境演讲稿
2014/05/10 职场文书
主持人演讲稿
2014/05/13 职场文书
助人为乐道德模范事迹材料
2014/08/16 职场文书
学校师德师风自我剖析材料
2014/09/29 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
nginx里的rewrite跳转的实现
2021/03/31 Servers