jQuery实现省市联动


一、需求

当点击一个选择框类的省份时,另一个选择框自动出现该省份的城市,使用jQuery实现。


二、代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>省市联动</title>
		<style type="text/css">
		#root{
			width: 20%;
			height: 100px;
			margin: 0px auto;
			border: solid 1px cornflowerblue;
			text-align: center;
		}
		#dream{
			letter-spacing: 2px;
			background-image: -webkit-linear-gradient(left,blue,#66ffff 10%,#cc00ff 20%,#CCCCFF 40%,#00FFFF 50%,#CCCCFF 60%,#CC00CC 70%,#CC00FF 80%,#66FFFF 90%,blue 100%);
			-webkit-text-fill-color: transparent;
			-webkit-background-clip: text;
			-webkit-background-size: 200% 100%;
			-webkit-animation: masked-animation 4s linear infinite;
			font-size: 20px;
		}
		
		@keyframes masked-animation{
			0% {
				background-position: 0 0;
			}
			100% {
				background-position: -100% 0;
			}
		}
	
		</style>
		<script type="text/javascript" src="js/jquery.js"></script>
		<script type="text/javascript">
		var data = [
			{'pid':1,'pname':'湖北','citys':[{'cid':'100','cname':'武汉'},
			                                   {'cid':111,'cname':'荆门'},
											   {'cid':666,'cname':'荆州'},
											   ]},
			{'pid':2,'pname':'江苏','citys':[{'cid':166,'cname':'南京'},
			                                   {'cid':233,'cname':'扬州'},
											   {'cid':777,'cname':'苏州'}
											   ]}								   
		];
		
		function fillProvince(){
			var $pro = $('#province');
			for (var i = 0; i < data.length; i++) {
				var $opt = $("<option value='"+ data[i].pid +"'>"+ data[i].pname +"</option>");
				$opt.appendTo($pro); //子对象appendTo(父对象)
		    }
        }
		
		function fillCity(pid){
			var citys; //保存指定省份的城市列表
			//根据pid获取省份对应的城市列表
			for(var i in data){
				if(data[i].pid == pid){
					citys = data[i].citys;
					break;
				}
			}
			//清空原来所有的城市列表,从而便于接受新的城市列表
			$('#city option').remove();
			//填充城市下拉框
			for (var i = 0; i < citys.length; i++) {
				var $opt = $("<option value='"+ citys[i].cid +"'>"+ citys[i].cname +"</option>");
				
				$('#city').append($opt);
		    }
		}
		
		$(function(){
			fillProvince();
			fillCity(1);
			
			$('#province').change(function(){
				var pid = $(this).val(); //获取当前所选择的省份编号
				fillCity(pid);   //根据省份编号填充对应的城市
			});
		})
	    
		</script>
	</head>
	<body>
		<div id="root">
			<select id="province"></select>
			<select id="city"></select>
			<p id="dream">生活不止眼前的苟且,还有诗和远方</p>
		</div>
	</body>
</html>

三、实现效果:

文字是动态变色的。文字样式用的另一位博主编写的代码,炫酷就完事了

文字特效链接: https://blog.csdn.net/aa19891204/article/details/81021591?utm_source=app&app_version=4.15.0&code=app_1562916241&uLinkId=usr1mkqgl919blenicon-default.png?t=L892https://blog.csdn.net/aa19891204/article/details/81021591?utm_source=app&app_version=4.15.0&code=app_1562916241&uLinkId=usr1mkqgl919blen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

才疏学浅的小缘同学

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

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

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

打赏作者

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

抵扣说明:

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

余额充值