栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Thymeleaf+jQuery+Ajax实现二级下拉框联动

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Thymeleaf+jQuery+Ajax实现二级下拉框联动

更好的阅读体验到我的博客:Thymeleaf+jQuery+Ajax实现二级下拉框联动

概述

下拉框联动就是,后一个下拉框的内容根据前一个下拉框的内容动态加载,例如:前一个下拉框是省份,后一个下拉框是市,它们之间存在关联

实现办法

第一个下拉框的内容在页面跳转的时候就直接从Java后端获取并加载

第二个下拉框的内容则监听第一个下拉框的内容是否改变了(通过onchange属性监听,属性值为内容改变请求的JavaScript方法),每改变一次就从Java后端获取一次数据,然后通过jQuery动态生成选项

实现过程 下拉框描述

第一个下拉框是商品类别,第二个是对应的商品名称

HTML代码

商品类别使用Thymeleaf获取并加载,onchange="getGoodsNameTestPage()"实现监听内容的改变并请求getGoodsNameTestPage()方法

  
  
跳转页面的控制层方法

主要是向页面传递goodsTypeList

@RequestMapping("/toTestPage")
public ModelAndView toTestPage() {
    ModelAndView mav = new ModelAndView();
    List goodsTypeList = goodsTypeService.list(null);
    mav.addObject("goodsTypeList", goodsTypeList);
    mav.addObject("title", "测试界面--LeDao校园二手交易平台");
    mav.addObject("mainPage", "page/test");
    mav.addObject("mainPageKey", "#b");
    mav.setViewName("index");
    return mav;
}
JavaScript请求的方法
//下拉框联动
function getGoodsNameTestPage() {
    let goodsTypeId = $("#goodsTypeIdTestPage").val();
    //当goodsTypeId为空,就结束方法并添加默认选项
    if (goodsTypeId === "") {
        $("#goodsNameTestPage").empty().append('');
        return false;
    }
    $.ajax({
        type: "get",
        url: "/getGoodsListByGoodsTypeId?goodsTypeId=" + goodsTypeId,
        success: function (result) {
            let goods = $("#goodsNameTestPage").empty();
            //添加默认选项
            goods.append('');
            for (let i = 0; i < result.length; i++) {
                goods.append("");
            }
        }
    });
}
Ajax请求的后端方法

主要是获取对应商品类别的商品集合并返回

@ResponseBody
@RequestMapping("/getGoodsListByGoodsTypeId")
public List getGoodsListByGoodsTypeId(Integer goodsTypeId) {
    QueryWrapper goodsQueryWrapper = new QueryWrapper<>();
    goodsQueryWrapper.eq("goodsTypeId", goodsTypeId);
    return goodsService.list(goodsQueryWrapper);
}
结果动态图

PS.

如果不使用Thymeleaf,那么第一个下拉框的内容在页面一加载时就通过Ajax请求Java后端来获取

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/820601.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号