基于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的9个陷阱及评点分析
May 16 Javascript
iframe如何动态创建及释放其所占内存
Sep 03 Javascript
JavaScript中 ES6 generator数据类型详解
Aug 11 Javascript
在Vue组件上动态添加和删除属性方法
Feb 23 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
Feb 26 Javascript
快速解决vue在ios端下点击响应延时的问题
Aug 27 Javascript
Vue中的transition封装组件的实现方法
Aug 13 Javascript
JS内置对象和Math对象知识点详解
Apr 03 Javascript
javascript实现前端input密码输入强度验证
Jun 24 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
Jul 30 Javascript
原生js实现自定义滚动条
Jan 20 Javascript
vue基于Teleport实现Modal组件
May 31 Vue.js
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
将OICQ数据转成MYSQL数据
2006/10/09 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
Drupal7连接多个数据库及常见问题解决
2014/03/02 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
Javascript 遍历对象中的子对象
2009/07/03 Javascript
JQuery的html(data)方法与&amp;lt;script&amp;gt;脚本块的解决方法
2010/03/09 Javascript
jQuery $.each的用法说明
2010/03/22 Javascript
鼠标焦点离开文本框时验证的js代码
2013/07/19 Javascript
JavaScript对象之深度克隆介绍
2014/12/08 Javascript
jQuery实现文件上传进度条特效
2015/08/12 Javascript
js实现Select列表各项上移和下移的方法
2015/08/14 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
js实现一键复制功能
2017/03/16 Javascript
基于JavaScript实现的快速排序算法分析
2017/04/14 Javascript
JS 60秒后重新发送验证码的实例讲解
2017/07/26 Javascript
详解webpack引用jquery(第三方模块)的三种办法
2019/08/21 jQuery
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
Python操作列表的常用方法分享
2014/02/13 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
Python之虚拟环境virtualenv,pipreqs生成项目依赖第三方包的方法
2019/07/23 Python
Python操作Mongodb数据库的方法小结
2019/09/10 Python
python基于event实现线程间通信控制
2020/01/13 Python
Pycharm学生免费专业版安装教程的方法步骤
2020/09/24 Python
自我评价如何写好?
2014/01/05 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
文明城市标语
2014/06/16 职场文书
科级干部群众路线教育实践活动对照检查材料思想汇报
2014/09/20 职场文书
财务工作犯错检讨书
2014/10/07 职场文书
捐款感谢信
2015/01/20 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
高效课堂教学反思
2016/02/24 职场文书
Html5新增了哪些功能
2021/04/16 HTML / CSS
用golang如何替换某个文件中的字符串
2021/04/25 Golang
React forwardRef的使用方法及注意点
2021/06/13 Javascript
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记