layui和js实现二级联动

先上效果图

1、默认情况


2、选择 一级分类 后

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


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


二、代码实现

1、layui 的代码

  1. <div class="layui-form-item">
  2.        <label class="layui-form-label">分类</label>
  3.        <div class="layui-input-inline">
  4.            <select name="cate1" id="cate1" lay-filter="cate1" required>
  5.                <option value="" selected="">一级分类</option>
  6.                <c:forEach items="${categoryCustomList}" var="c">
  7.                    <c:if test="${c.categoryPid==0}">
  8.                        <option value="${c.categoryId}">${c.categoryName}</option>
  9.                    </c:if>
  10.                </c:forEach>
  11.            </select>
  12.        </div>
  13.        <div class="layui-input-inline">
  14.            <select name="cate2" id="cate2">
  15.                <option value="" selected>二级分类</option>
  16.            </select>
  17.        </div>
  18.    </div>

博主这里用的是 springmvc,一级分类只需要输出父分类即可。子分类暂时为空,待会儿通过 js 输出即可。

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

 

2、js 代码

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

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

 

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

 

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

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一个layui二级联动下拉的示例代码: HTML代码: ```html <div class="layui-form-item"> <label class="layui-form-label">省份</label> <div class="layui-input-block"> <select name="province" lay-filter="province"> <option value="">请选择省份</option> <option value="广东省">广东省</option> <option value="湖北省">湖北省</option> <option value="浙江省">浙江省</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">城市</label> <div class="layui-input-block"> <select name="city" lay-filter="city"> <option value="">请选择城市</option> </select> </div> </div> ``` JavaScript代码: ```javascript layui.use(['form'], function () { var form = layui.form; // 监听省份下拉框的变化 form.on('select(province)', function (data) { var province = data.value; var citySelect = $('select[name="city"]'); // 根据省份动态生成城市下拉框选项 if (province === '广东省') { citySelect.html('<option value="">请选择城市</option><option value="广州市">广州市</option><option value="深圳市">深圳市</option><option value="珠海市">珠海市</option>'); } else if (province === '湖北省') { citySelect.html('<option value="">请选择城市</option><option value="武汉市">武汉市</option><option value="宜昌市">宜昌市</option><option value="襄阳市">襄阳市</option>'); } else if (province === '浙江省') { citySelect.html('<option value="">请选择城市</option><option value="杭州市">杭州市</option><option value="宁波市">宁波市</option><option value="温州市">温州市</option>'); } else { citySelect.html('<option value="">请选择城市</option>'); } // 重新渲染城市下拉框 form.render('select'); }); // 监听城市下拉框的变化 form.on('select(city)', function (data) { console.log('选择的城市是:', data.value); }); }); ``` 以上代码实现了一个简单的二级联动下拉框,当选择省份时,动态生成对应的城市选项。当选择城市时,会在控制台输出选择的城市名称。希望能够帮到你!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半缘修道半缘君丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值