基于layui的下拉列表的数据回显方法

 更新时间:2019年09月24日 09:22:35   作者:五叔  
今天小编就为大家分享一篇基于layui的下拉列表的数据回显方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

静态网页+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实现焦点滚动图效果 具体方法

    以下JS代码实现了焦点滚动图的效果方法,有需要的朋友可以参考一下
    2013-06-06
  • javascript性能优化之事件委托实例详解

    javascript性能优化之事件委托实例详解

    这篇文章主要介绍了javascript性能优化之事件委托用法,结合实例形式对比分析了JavaScript中事件委托的具体用法与优点,需要的朋友可以参考下
    2015-12-12
  • 详解JavaScript中哪一种循环最快呢

    详解JavaScript中哪一种循环最快呢

    这篇文章主要介绍了详解JavaScript中哪一种循环最快呢,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • javascript创建cookie、读取cookie

    javascript创建cookie、读取cookie

    这篇文章主要介绍了javascript创建cookie、读取cookie的操作方法,内容简单易学,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 小程序实现tab标签页

    小程序实现tab标签页

    这篇文章主要为大家详细介绍了小程序实现tab标签页,可点击切换,滑动切换页面,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-11-11
  • onmouseover事件和onmouseout事件全面理解

    onmouseover事件和onmouseout事件全面理解

    最近两天在温习onmouseover事件和onmouseout事件,其实里面有很多深奥的知识,接下来小编给大家带来了onmouseover事件和onmouseout事件全面了解,感兴趣的朋友一起看下
    2016-08-08
  • 引入外部js脚本加载慢与页面白屏问题的解决

    引入外部js脚本加载慢与页面白屏问题的解决

    最近做的一个项目需要引入一个外部的第三方js脚本。发现加载比较慢,这篇文章主要介绍了引入外部js脚本加载慢与页面白屏问题的解决,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • layui动态设置单选按钮选中效果实例

    layui动态设置单选按钮选中效果实例

    最近在使用layui前端框架,在使用单选按钮、下拉菜单select、checkbox等控件的时候,往往遇到一些初始化的东西,下面这篇文章主要给大家介绍了关于layui动态设置单选按钮选中效果的相关资料,需要的朋友可以参考下
    2023-06-06
  • 用JavaScript实现PHP的urlencode与urldecode函数

    用JavaScript实现PHP的urlencode与urldecode函数

    这篇文章主要介绍了用JavaScript实现PHP的urlencode与urldecode函数,很多情况下我们用了出来php urlencode出来的网址,需要的朋友可以参考下
    2015-08-08
  • JavaScript中的变量提升和函数提升

    JavaScript中的变量提升和函数提升

    这篇文章主要介绍了JavaScript中的变量提升和函数提升,在js中对变量进行操作后打印值经常会出现undefined的现象。其实原因是因为js中有一个叫做变量提升的功能
    2022-07-07

最新评论