基于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实现的鼠标经过时播放声音
May 18 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
Feb 05 Javascript
浅谈javascript 函数属性和方法
Jan 21 Javascript
JavaScript数组去重的3种方法和代码实例
Jul 01 Javascript
基于jQuery ztree实现表格风格的树状结构
Aug 31 jQuery
javascript使用substring实现的展开与收缩文字功能示例
Jun 17 Javascript
在layui中layer弹出层点击事件无效的解决方法
Sep 05 Javascript
JavaScript 类的封装操作示例详解
May 16 Javascript
jQuery实现视频展示效果
May 30 jQuery
vue 实现setInterval 创建和销毁实例
Jul 21 Javascript
vue-preview动态获取图片宽高并增加旋转功能的实现
Jul 29 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
Nov 16 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设计模式  Command(命令模式)
2011/06/17 PHP
php连接Access数据库错误及解决方法
2013/06/20 PHP
PHP命名空间(namespace)的动态访问及使用技巧
2014/08/18 PHP
新浪SAE搭建PHP项目教程
2015/01/28 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
php中namespace及use用法分析
2016/12/06 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
解析offsetHeight,clientHeight,scrollHeight之间的区别
2013/11/20 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
2016/04/18 Javascript
jQuery返回定位插件详解
2017/05/15 jQuery
Angular限制input框输入金额(是小数的话只保留两位小数点)
2017/07/13 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
vue-router实现编程式导航的代码实例
2019/01/19 Javascript
JavaScript变量提升和严格模式实例分析
2019/01/27 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
jQuery事件委托代码实践详解
2019/06/21 jQuery
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Python使用grequests并发发送请求的示例
2020/11/05 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
HTML5 语音搜索(淘宝店语音搜素)
2013/01/03 HTML / CSS
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
网络方面基础面试题
2012/11/16 面试题
学生打架检讨书大全
2014/01/23 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
企业领导班子四风对照检查材料
2014/09/27 职场文书
学生实习证明范文
2014/09/28 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
公司考勤管理制度
2015/08/04 职场文书
详解Oracle块修改跟踪功能
2021/11/07 Oracle