省市区三级联动

该博客介绍了如何使用jQuery实现省市区三级联动效果。通过HTML和JavaScript代码展示了一个简单的DEMO,数据以JSON格式存储,确保了数据的便捷性和简洁性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


省市级三级联动

废话不多说,直接上代码!

1.html部分

代码如下(示例):

	请选择省份:
			<select name="" id="province">
		        <option value="" selected>请选择省份</option>
		    </select>
		    请选择城市:
			<select name="" id="city">
		        <option value="" selected>请选择城市</option>
		    </select>
		    请选择地区:
			<select name="" id="area">
		        <option value="" selected>请选择地区</option>
		    </select>

2.js(jquery部分)

注意:要导入jquery包,写入正确的路径

<script type="text/javascript" src="../js/jquery-3.3.1.js"></script>
	<script type="text/javascript">
		//定义几个省的城市数组
		var json = {
					"江苏":{
								"南京":["玄武区","雨花台区","鼓楼区","秦淮区","六合区"],
								"无锡":["滨湖区","惠山区","梁溪区"],
								"连云港":["海州区","连云区"],
								"常州":["天宁区","钟楼区"]
						   },
					"四川":{
								"成都":["武侯区","金牛区","锦江区","成华区"],
								"绵阳":["涪城区","游仙区","盐亭县"],
								"南充":["仪陇","蓬安","阆中"]
						   },
					"黑龙江":{
								"哈尔滨":["松北区","双城区"],
								"齐齐哈尔":["龙沙区","碾子山区"],
								"大庆":["红岗区","龙凤区"]
							}
				   }
		//入口函数
		$(function(){
			//初始化第一个框的值
			for(var sheng in json){
				let option = '<option value="'+sheng+'">'+sheng+'</option>';
				$("#province").append(option);
			}
			//当第一个框的值发生改变时才添加第二个框的值
			$("#province").change(function(){
				//第一步先清空市得所有得子元素
				$("#city").html("");
				//然后给市添加一个option
				$("#city").append("<option value='' selected>请选择城市</option>");
				//第一步先清空区得所有得子元素
				$("#area").html("");
				//然后给区添加一个option
				$("#area").append("<option value='' selected>请选择地区</option>");
				//获取选中的值
				let province = this.value;
				//获取第0个字典元素,遍历添加键
				for(var si in json[province]){
					let option = '<option value="'+si+'">'+si+'</option>';
					$("#city").append(option);
				}
			})
			// 当第二个框值改变时才添加第三个框得值
			$("#city").change(function(){
				//第一步先清空区得所有得子元素
				$("#area").html("");
				//然后给区添加一个option
				$("#area").append("<option value='' selected>请选择地区</option>");
				//获取第二个框选的值
				let city = this.value;
				//获取第一个框得值
				let province = $("#province").val();
				//根据两个值锁定区数组
				for(var i in json[province][city]){
					let option = '<option value="'+json[province][city][i]+'">'+json[province][city][i]+'</option>';
					$("#area").append(option);
				}
			})
		})
	</script>

使用了json数据格式存储了省市区,方便简洁


总结

以上就是今天要讲的内容,本文简单介绍了一个小demo!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值