基于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 相关文章推荐
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
Mar 14 Javascript
JavaScript列表框listbox全选和反选的实现方法
Mar 18 Javascript
基于 Node.js 实现前后端分离
Apr 23 Javascript
学JavaScript七大注意事项【必看】
May 04 Javascript
sencha ext js 6 快速入门(必看)
Jun 01 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 Javascript
JavaScript EventEmitter 背后的秘密 完整版
Mar 29 Javascript
vue仿element实现分页器效果
Sep 13 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
rrmdir php中递归删除目录及目录下的文件
2011/05/15 PHP
php 无限级分类,超级简单的无限级分类,支持输出树状图
2014/06/29 PHP
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
php根据某字段对多维数组进行排序的方法
2015/03/07 PHP
Laravel 5框架学习之子视图和表单复用
2015/04/09 PHP
php array_values 返回数组的值实例详解
2016/11/17 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
深入理解JavaScript系列(11) 执行上下文(Execution Contexts)
2012/01/15 Javascript
用javascript删除当前行,添加行(示例代码)
2013/11/25 Javascript
JavaScript设置表单上传时文件个数的方法
2015/08/11 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
2020/07/26 Javascript
jquery自定义组件实例详解
2020/12/31 jQuery
纯Python开发的nosql数据库CodernityDB介绍和使用实例
2014/10/23 Python
Python中实现三目运算的方法
2015/06/21 Python
Python正则表达式教程之一:基础篇
2017/03/02 Python
Python数据可视化实现漏斗图过程图解
2020/07/20 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
一款利用纯css3实现的win8加载动画的实例分析
2014/12/11 HTML / CSS
以下的初始化有什么区别
2013/12/16 面试题
DOM和JQuery对象有什么区别
2016/11/11 面试题
社区十八大感言
2014/01/19 职场文书
生物制药专业求职信
2014/03/11 职场文书
班长竞选演讲稿
2014/04/24 职场文书
2014最新毕业证代领委托书
2014/09/26 职场文书
党支部书记岗位职责
2015/02/15 职场文书
雷锋电影观后感
2015/06/10 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
导游词之阆中古城
2019/12/23 职场文书