基于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 文件夹选择框的两种解决方案
Jul 01 Javascript
jquery遍历checkbox介绍
Feb 21 Javascript
用jquery的方法制作一个简单的导航栏
Jun 23 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 Javascript
JavaScript中的对象与JSON
Jul 03 Javascript
探析浏览器执行JavaScript脚本加载与代码执行顺序
Jan 12 Javascript
浅谈angularJS中的事件
Jul 12 Javascript
jquery获取select,option所有的value和text的实例
Mar 06 Javascript
layui实现动态和静态分页
Apr 28 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
Node.js Stream ondata触发时机与顺序的探索
Mar 08 Javascript
javascript 内存模型实例详解
Apr 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不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
PHP和.net中des加解密的实现方法
2013/02/27 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
PHPstorm启用自动换行的方法详解(IDE)
2020/09/17 PHP
js中的replace方法使用介绍
2013/10/28 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
js中opener与parent的区别详细解析
2014/01/14 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(二)
2016/09/14 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
2017/01/24 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
AngularJS常见过滤器用法实例总结
2017/07/06 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
2017/12/07 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
2018/07/07 Javascript
Angular6 写一个简单的Select组件示例
2018/08/20 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
Python使用matplotlib绘制多个图形单独显示的方法示例
2018/03/14 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
Street One瑞士:德国现代时装公司
2019/10/09 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
C#中有没有静态构造函数,如果有是做什么用的?
2016/06/04 面试题
2014年党风廉政工作总结
2014/12/03 职场文书
幼儿园百日安全活动总结
2015/05/07 职场文书
优秀教师主要事迹材料
2015/11/04 职场文书
会计入职心得体会
2016/01/22 职场文书
SQL Server 数据库实验课第五周——常用查询条件
2021/04/05 SQL Server
windows安装 redis 6.2.6最新步骤详解
2022/04/26 Redis
Nginx报404错误的详细解决方法
2022/07/23 Servers