如何使用Ajax动态请求后台数据制作二级联动下拉框

车型选择三级联动插件 由于项目需要需要一个车型选择的三级联动插件,即先选择品牌,再选择车系,最后选择车型的联动,说起三级联动可能最常见的就是省市区然后三个select的这样的联动,如图 根据传回后台的参数来请求每一级的数据。最开始也是准备做成这种简单的联动的,奈何项目经理觉得这种太low了,要做得好看些,然后直接丢给我一个竞品的网站参考,说就做成这样的。 先选择品牌: 然后选择车系: 然后选择排量:... 阅读详情

如何使用Ajax动态请求后台数据制作二级联动下拉框

首先,要想制作一个两个下拉框是可以有联动的,两个的数据就需要有外键连接,这里我以我的两个表为例,一个是汽车品牌表,一个是汽车车型表。
1.汽车品牌表:
汽车品牌表
2.汽车车型表:
在这里插入图片描述
我们在这两个表可以看出,不同的汽车车型都属于某一个车型品牌,而一个汽车品牌拥有多个车型信息,那我们的二级联动就是选择不同的汽车品牌即可弹出下拉框有相对应的汽车车型。

**首先我们先创建出三个下拉框,代码和效果图如下:**

前端代码:

<div class="form-group">
          <label for="inputCarType" class="col-sm-2 control-label">车型</label>
           <div class="col-sm-2">   
                <select id="nationality" name="nationality"  onchange="show_brand(this.value)" class="form-control" >
									<option value="">请先选择国别</option>
									<option value="德国">德国</option>
									<option value="日本">日本</option>
									<option value="中国">中国</option>
				</select>
            </div>
            <div class="col-sm-2">   
                <select id="car_brand" class="form-control"  name="car_brand" onchange="show_car_type(this.value)" >                  
                </select>
            </div>
            <div class="col-sm-2">   
                <select id="car_type" class="form-control">                 
                </select>
            </div>
        </div>

效果图:
在这里插入图片描述
前端代码和效果图如上,但是仅仅只是样式而已,那我们如何从后台接收数据并联动地返回到相对应的下拉框里呢?我们使用的是 onchange 触发事件,当鼠标点击拉动下拉框时,就会触发的某个事件,而这个事件就是Ajax请求,然后从回调函数中接收数据
代码如下:

<script type="text/javascript">
	function show_brand(value) {
		var nationality = value;
				
	 $.ajax({
        type:'post',
        url:"${path}/brand.do?action=js_select_brand",
        dataType:"json",
        data:{
        nationality:nationality
        },      
        success:function(data){
          $("#car_brand").empty();
          $("#car_brand").append("<option value=''>请选择车型</option>");
          for(var i=0;i<data.length;i++){
           $("#car_brand").append('<option value='+data[i].name+'>'+data[i].name+'</option>');
           
       }
      }
   });			
}
function show_car_type(value){
var car_brand=value;
	 $.ajax({
        type:'post',
        url:"${path}/car_type.do?action=js_get_all",
        dataType:"json",
        data:{
        car_brand:car_brand
        },      
        success:function(data){
          $("#car_type").empty();
          $("#car_type").append("<option value=''>请选择车型</option>");
          for(var i=0;i<data.length;i++){
           $("#car_type").append('<option value='+data[i].name+'>'+data[i].name+'</option>');          
       }
      }
   });	
}
</script>

在两个下拉框的onchange事件中触发一次ajax,每次都把当前值传到控制器里,也就是servlet中,再由servlet执行相对应的SQL语句,从而获取回调函数,响应到下拉框中。
控制器方法1代码如下:

	private void js_select_brand(HttpServletRequest request, HttpServletResponse response) throws IOException {
		String nationality=request.getParameter("nationality");
		ArrayList<Brand> list=brand_service.select(nationality);
		JSONArray json = JSONArray.fromObject(list);
		response.getWriter().write(json.toString());		
		
	}

以及使用的持久层代码:

@Override
	public ArrayList<Brand> select(String nationality) {
		//查询所有信息
		DB_conn.init();
		ArrayList<Brand> list = new ArrayList<Brand>();
		String sql="SELECT * FROM brand where nationality='"+nationality+"'";
		ResultSet rs=DB_conn.selectSql(sql);
		try {
			while(rs.next()){
				Brand brand=new Brand();
				brand.setB_id(rs.getInt("b_id"));
				brand.setT_id(rs.getInt("t_id"));
				brand.setC_id(rs.getInt("c_id"));
				brand.setName(rs.getString("name"));
				brand.setNationality(rs.getString("nationality"));									
				list.add(brand);
			}
			return list;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

控制器方法2代码如下:

	private void js_get_all(HttpServletRequest request, HttpServletResponse response) throws IOException {
		String car_brand=request.getParameter("car_brand");
		ArrayList<Car_Type> list=car_type_service.select_all(car_brand);
		JSONArray json = JSONArray.fromObject(list);
		response.getWriter().write(json.toString());
		
	}

持久层代码如下:

@Override
	public ArrayList<Car_Type> select_all(String car_brand) {
		//查询所有信息
		DB_conn.init();
		ArrayList<Car_Type> list = new ArrayList<Car_Type>();
		String sql="SELECT * FROM car_type where c_brand='"+car_brand+"'";
		ResultSet rs=DB_conn.selectSql(sql);
		try {
			while(rs.next()){
	        	Car_Type car_type=new Car_Type();
				car_type.setT_id(rs.getInt("t_id"));
				car_type.setB_id(rs.getInt("b_id"));
				car_type.setBrand(rs.getString("c_brand"));
				car_type.setName(rs.getString("name"));								
				list.add(car_type);
			}
			return list;
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}

选择不同的国别就会请求相对应国别的品牌,再选择相对应的品牌,就会请求响应对应的车型信息。
希望能对你有所帮助!谢谢~

前台使用ajax动态获取数据并且显示在页面上,SSM框架二级联动 首先是使用注解的方式操作 在页面上 :              ----请选择省份----                            ------请选择城市-----         使用jQuery            $(function(){     $.ajax({          url:'test/select.do', 阅读详情

相关推荐

ThinkPHP5.0(三)基于ThinkPHP5.0下的二级联动,实现不刷新页面的情况下根据一个下拉框的选项,改变另一个下拉框的选项

二级联动或者三级联动 顾名思义多个下拉框的联动,就是当一个父级下拉框某个选项被选中后可以影响其子下拉框中的值。 例如当我们在选择地址的时候,但我们在一个下拉框选择好省份后,接下来的市级下拉框里面的选项会变为对应省的市级,这就是一个二级联动。 实际需求 我在项目中遇到的需求是根据用户选中男女的下拉框的选项,读取数据库中不同的男女项目到运动项目的下拉框中。 HTML: 其中因为男女下拉...

define_LIN的博客 2277

Ajax二级下拉联动

Ajax二级下拉联动 昨天学习入门了Ajax,利用Ajax从后台取到一些数据信息,以及从前台提交一下数据到后台,没有明显的体会到Ajax的局部刷新,异步请求,觉得还不过瘾,所以今天学习Ajax二级下拉联动,体会一下不刷新页面,给观众带来的"智能"。 一般我们在填自己的信息的时候,我们要填自己的地址,首先选择省份、再选城市、选区、等等,有没有发现,我们在选完省份的时候,会自动根据选的省份给出...

September的博客 1548

二级联动+搜索下拉框

PHP+AJAX+bootstrap-select的二级联动+下拉搜索 实现下拉搜索功能,使用的插件为bootstrap-select,它基于jquery和bootstrap,所以要先引入相关支持。 <!-- jquery --> <script src="http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js" type...

weixin_45058929的博客 1137

ajax 动态生成二级联动下拉列表

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33840661的博客 320

jQuery实现二级联动下拉框

jQuery实现二级联动下拉框

sning999 3257

实现Ajax动态下拉框功能的综合实践

Ajax(Asynchronous JavaScript and XML)技术是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它结合了HTML、CSS、JavaScript和XML等技术,实现了客户端和服务器端的异步通信,是现代Web开发中不可或缺的技术之一。通过Ajax,开发者可以在用户与网页交互时,动态地从服务器端获取数据,并以一种友好的方式更新网页内容。Ajax的核心是通过XMLHttpRequest对象,向服务器发送请求,并在接收到响应后执行回调函数,以更新网页的相关部分。

weixin_33582089的博客 1063

layui下拉框动态赋值(后台数据赋值下拉框)

layui下拉框动态赋值html代码:js代码:上图: html代码: <div class="layui-input-inline"> <select id="service" name="service" lay-verify="required" lay-filter="business" class="select"> ...

weixin_44786259的博客 9281

Ajax实现省市二级联动

ajax初级入门。 无刷新实现省市2级菜单联动。 代码简单,很容易明白。

JQuery和Ajax以及数据库实现动态select下拉框二级联动

使用JQuery和Ajax实现select下拉框二级联动 首先聊下项目背景。项目是一个类似于百度贴吧的平台,在项目里,用“协作组”表示贴吧的吧,“主题”表示每个吧里的帖子,用户可以对主题进行评论。我现在要做的是选定一个协作组,把协作组的话题的评论全部以Excel的形式导出来。因为话题时依赖于协作组的,所以选择的时候就需要将协作组的ID当做筛选话题的条件。 话不多说,直接上代码。 jsp: <...

qq_39762130的博客 1773

使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例

首先我们需要先建立好数据库,将一些数据插入进去 需要两张表: province:省份表 city: 城市表 如图: 然后再在java中建立相关的实体类与之对应 再然后,我们就能开始做jdbc的操作了 public class ConnectionFactory { private static String driver; private static String url; private static String user; private static String password; static { Properties prop = new Propertie

【UE5】UE5 Dedicated Server专用服务器与网络同步

这篇文章是个人在学习UE4的网络同步方面的内容的一些记录,因为UE5出来了,顺带也一起熟悉熟悉UE5,所以也就直接使用UE5来实践了。说句实在话,UE4网络同步这块确实挺难的,我自己在网上搜索的博客的内容要么停留在很浅层面只搭建一个ds服务器,要么就直接深入源码去剖析UE4的网络机制,处在中间层面的内容少之又少,不得不自己好一阵研究,强烈推荐这几位博主的博文,我在学习的过程中也从中受益匪浅。 Ken_An、风蚀之月、 刘东无敌还有我师傅推荐给我的一本关于UE4网络的PDF。 一、什么是Dedicated

Goulandis 3万+

python下拉框二级联动_django xadmin后台页面实现二级联动

思路先找到控件id ,这样就可以监听change事件然后把自己写的js加入xadmin中添加url和view,接受ajax请求和发送数据第一步:找到联动上下级的ID在浏览器中通过F12查看父级ID:id_files_category1子级id:id_files_categoty2第二步:ajax请求$('#id_files_category1').change(function () {var m...

weixin_40004081的博客 804

Cadence Virtuoso里搞定斩波运放AC仿真:PSS+PAC保姆级设置避坑指南

然而,当工程师们尝试在Cadence Virtuoso环境中对这种特殊结构进行AC特性分析时,往往会遇到传统AC仿真方法失效的困境——这正是PSS(Periodic Steady-State)与PAC(Periodic AC)仿真组合大显身手的场景。实际项目中我们常采用"先快后精"的两步法:先用快速设置确认大体趋势,再针对关键频段进行精细仿真。例如某次设计迭代中,将harmonics从10增加到20后,发现在1MHz处的相位裕度估算误差达15°,这解释了之前样机测试时的振荡问题。

weixin_33508411的博客 448

两个下拉框联动 ajax,AJAX异步请求二级联动加载下拉框

最近在开发中用到的二级联动加载下拉框,感觉比较有意思,记录一下。首先,二级联动下拉框的数据库建模是至少两张表以上的外键关联查询,首先准备数据库表格 数据库表以及数据准备好过后,开始开发前端页面(前提是整个项目环境搭建好的情况下,此项目使用IDEA开发) 我们的需求是通过选择第一个下拉框的时候,第二个下拉框自动加载属于第一个下拉框的集合,所以,这个时候怎么才能加载呢?无非是根据第一个下拉框的某个...

weixin_35895994的博客 956

GNSS数据处理(一)——开源软件RTKLIB与G-Nut/Anubis实战入门

本文详细介绍了GNSS数据处理的开源软件RTKLIB与G-Nut/Anubis的实战入门指南。从软件安装、数据获取到静态短基线解算,逐步讲解操作技巧与常见问题排查,帮助测绘与地质监测人员快速掌握GNSS数据处理技术,提升工作效率。

weixin_30733003的博客 133

图像超分辨率在医学影像中的应用:如何用深度学习提升CT/MRI图像质量

本文探讨了深度学习驱动的图像超分辨率技术在医学影像(如CT/MRI)质量提升中的应用。文章分析了医学图像超分辨率在提升诊断信息含量、平衡保真度与临床相关性方面的独特挑战,并详细介绍了如何针对3D体数据特点定制模型架构、设计病理感知损失函数,以及解决高质量配对数据稀缺的策略。通过实战案例,阐述了从数据模拟、模型训练到临床评估的完整流程,旨在为医学影像的清晰化与诊断精准化提供有效解决方案。

weixin_29063681的博客 521

layui中请求后台数据动态创建下拉框

一、今天使用layui的时候需要根据后台动态创建下拉框,这里做下简单记录 二、首先吐槽一下layui中组件的使用方式: ①layui中分为layui和layer ②layer可以作为一个单独的组件进行使用 ③切记如果你引入了layui那么一定不要在页面引入layer的相关资源 ④layui中使用组件时要先引入(我感觉是超级XX的) ⑤当你引入了某些组件后如果你的html是动态生成的,比如:...

weixin_39674487的博客 3619

哈工大OS实验四——进程运行轨迹的跟踪与统计

进程运行轨迹的跟踪与统计 进程从创建(Linux 下调用 fork())到结束的整个过程就是进程的生命期,进程在其生命期中的运行轨迹实际上就表现为进程状态的多次切换,如进程创建以后会成为就绪态;当该进程被调度以后会切换到运行态;在运行的过程中如果启动了一个文件读写操作,操作系统会将该进程切换到阻塞态(等待态)从而让出 CPU;当文件读写完毕以后,操作系统会在将其切换成就绪态,等待进程调度算法来调度该进程执行…… process.c解读 void cpuio_bound(int last, int cpu_

优快云-ych 1000

动态下拉框,从后台获取数据

动态下拉框,从后台获取数据 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>下拉框示例</title> <script type="text/javascript" src="http://libs.ba...

weixin_41983443的博客 8335

解密Android相机框架:从HAL到应用层的全链路解析

本文深入解析Android相机框架的全链路架构,从应用层到硬件抽象层(HAL)再到驱动层,详细介绍了CamX-CHI架构的设计哲学与实战应用。通过HAL3接口、V4L2交互机制及Camera2 API的最佳实践,帮助开发者优化相机性能,解决多摄切换、预览卡顿等常见问题,提升成像效率与稳定性。

weixin_29238147的博客 407

整合Springboot+MybatisPlus+达梦数据库

整合Springboot+MybatisPlus+达梦数据库,以及一些坑

波波的博客 6676

二级联动(大类下拉框与小类下拉框)

二级联动,大类下拉框选出来后,会影响小类的下拉框,导致不同的值。 以下一共有3种办法: 1、一种办法,是吧所有的大类和所有的小类都弄到页面上,把小类大部分都隐藏起来,然后根据大类选择不同时,用ajax显示不同的小类。 【适用类型】不用访问数据库,比较适合类别都固定了的那种情况。比如,省市联动等情况 以后我用到这种情况的时候在补充到这里来。 2、我的方法是另一种办法: 大

DouBoomFly的博客 2842

YOLOv11改进 - 卷积Conv | PConv(Pinwheel-shaped Conv): 风车状卷积用于红外小目标检测 | AAAI 2025

本文介绍了风车状卷积(PConv)和基于尺度的动态(SD)损失在YOLOv11中的结合应用。PConv采用不对称填充,通过特殊结构设计、卷积运算和分组卷积技术,能更好地适应红外小目标的像素高斯空间分布,在少量增加参数的情况下极大扩展感受野。SD损失可根据目标大小动态调整尺度和位置损失的影响。我们将PConv集成到YOLOv11的主干网络低层,并在相关配置文件中进行设置。实验证明,YOLOv11 - PConv在IRSTD - 1K和SIRST - UAVB数据集上取得显著性能提升,验证了方法的有效性和泛化能

魔改工程师的博客 1333

jQuery ajax 实现下拉框 二级联动

首先 默认显示一级下拉框内容 我这边是tp5 的模板 1.Ajax的异步 到后台 读取 和一级下拉框 对应的数据 然后 return json  数据  2.json  数据   前台 用eval 函数 转换成 对象 3. 用循环 把要的数据 通过jQuery 追加到 二级下拉框里面 添加文章 选择文章分类:

heijinkuiba的博客 1233

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Layui动态生成下拉框

目录前言Layui框架实现html页面js写法总结 前言 在写后台管理页面的时候,经常需要有下拉框搜索功能,比如说数据库有一张类型表,那么这个时候的下拉框里选项是需要根据表的数据一致的,当用户修改了数据库数据的时候,下拉框的选项也需要动态的改变。 Layui框架实现 html页面 <form> 垃圾名称: <div class="layui-inline">...

weixin_44906271的博客 6802

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

java实现下拉框二级联动_jsp从数据库获取数据填充下拉框实现二级联动菜单的方法...

本文实例讲述了jsp从数据库获取数据填充下拉框实现二级联动菜单的方法。分享给大家供大家参考,具体如下:项目告一段落,现在将遇到的比较实用的东西记录下来,写了多遍了,谨记于此,以备查看!1、首先在数据库中获取第一个下拉框的数据:listvalue="tsfrom" cssstyle="width:90" list="tsfrom1"name="tsfrom" theme="simple" heade...

weixin_42142062的博客 2145

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: Java如何使用JDBC连接Mysql以及简单封装增、删、查、改的方法
下一篇: Java中多线程的简单概述
code_aJack
博客等级 码龄8年 29粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值