前端速成:双月Java之旅(week4)_day4

今天学习的是使用JS完成省市联动,即在下拉选择框中选中某个省后下一级的下拉框显示的是对应省内的市。

首先是准备工作,我们需要准备一些省和市的数据。

步骤分析:

                1. 确定事件:  onchange
                2. 函数: selectProvince()
                3. 函数里面要完成以下操作:
                    得到当前操作元素
                    得到当前选中的是那一个省份
                    从数组中取出对应的城市信息
                    动态创建城市元素节点
                    添加到城市select中

首先我们搭建HTML主体框架,内容为两个下拉框<select>。然后在第一个<select>里面使用onchange事件,包含有onchange事件的标签在发生改变时会触发绑定的函数selectProvince。我们需要用数组来引入数据。然后是定义函数,首先是var province = document.getElementById("province")得到当前选中的是哪个省份,然后从数组中取出对应的城市信息,var cityText = cities[i]; 动态创建城市元素节点然后创建option节点var option1 = document.createElement("option"),再创建城市文本节点var textNode = document.createTextNode(cityText),之后将option节点和文本内容关联起来option1.appendChild(textNode),最后添加到城市select中 citySelect.appendChild(option1)。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<script>
			var provinces = [
				["深圳市","东莞市","惠州市","广州市"],
				["长沙市","岳阳市","株洲市","湘潭市"],
				["厦门市","福州市","漳州市","泉州市"]
			];
			function selectProvince(){
				var province = document.getElementById("province");	
				var value = province.value;
				var cities = provinces[value];
				var citySelect = document.getElementById("city");
				citySelect.options.length = 0;
				for (var i=0; i < cities.length; i++) {
					var cityText = cities[i]; 
					var option1 = document.createElement("option"); 
					var textNode = document.createTextNode(cityText) ;
					option1.appendChild(textNode); 
					citySelect.appendChild(option1);
				}
				
			}
			
		</script>
	</head>
	<body>
		<!--选择省份-->
		<select onchange="selectProvince()" id="province">
			<option value="-1">--请选择--</option>
			<option value="0">广东省</option>
			<option value="1">湖南省</option>
			<option value="2">福建省</option>
		</select>
		<!--选择城市-->
		<select id="city"></select>
	</body>
</html>

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值