layui和js实现二级联动

先上效果图

1、默认情况


2、选择 一级分类 后

如选择 Java,则在二级分类中只显示Java的子分类

layui和js实现二级联动_第1张图片

同样,如果选择的是 计算机科学,在二级分类中只显示其子分类

layui和js实现二级联动_第2张图片

二、代码实现

1、layui 的代码

  1. class="layui-form-item">
  2.        class="layui-form-label">分类
  3.        class="layui-input-inline">
  4.            "cate1" id="cate1" lay-filter="cate1" required>
  5.                "" selected="">一级分类
  6.                "${categoryCustomList}" var="c">
  7.                    if test="${c.categoryPid==0}">
  8.                        "${c.categoryId}">${c.categoryName}
  9.                    if>
  10.                
  11.            
  12.        
  •        class="layui-input-inline">
  •            "cate2" id="cate2">
  •                "" selected>二级分类
  •            
  •        
  •    
  • 博主这里用的是 springmvc,一级分类只需要输出父分类即可。子分类暂时为空,待会儿通过 js 输出即可。

    其中的 ${categoryCustomList} 是控制器向页面传送的,这里就不介绍了。

     

    2、js 代码

    1. //二级联动
    2.      form.on("select(cate1)",function () {
    3.          var optionstring = "";
    4.          var cate1 = $("#cate1").val();
    5.          "${categoryCustomList}" var="c">
    6.              if(cate1==${c.categoryPid}) {
    7.                  optionstring += "${c.categoryName}";
    8.              }
    9.          
    10.          $("#cate2").html("  二级分类"+optionstring);
    11.          form.render('select'); //这个很重要
    12.      })

    因为博主这里使用的是 layui 的框架,所以对表单操作需要用 layui 封装的方法。如果大家没有用 layui,可以直接 $("#cate1").change(...) 这样写。获取分类列表,可以直接用后台传过来的数据,循环输出的话,也可以使用 jQuery 的each 遍历。

     

    这里就不介绍 SpringMVC 的代码了,相信大家很熟悉了。

     

    本文地址:https://liuyanzhao.com/6262.html

    你可能感兴趣的:(layui和js实现二级联动)