【无标题】省市级三级联动效果实现

 

功能描述: 

  1. 在页面选择省时, 市和区的下拉列表会相应改变为和省相关的地区
  2. 在页面选择市时, 区的下拉列表会相应的改变为和省、市相关地区

代码: 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>三级浮动</title>
		
	</head>
	<body>
		<div id="all">
			<div id="left">
			<dl style="float: left;margin-left: 150px;padding-left: 150px;">
				<dt>
					<img src="./gougou.jpg"   width="120px"height="150px"/>
				</dt>
				<dt style="color: red;">账号管理</dt>
				</dl>
				<dt style="float: left;margin-top: 145px;padding: 20px;margin-left:-180px;">
				<ul style="list-style: none;">
					<li style="padding-top: 35px;"><a href="#" style="color: #000000;text-decoration: none;">安全设置</a> </li>
					<li style="padding-top: 35px;"> <a href="#"style="color: #000000;text-decoration: none;">个人资料</a></li>
					<li style="padding-top: 35px;"><a href="#"style="color: #000000;text-decoration: none;">个人成长信息</a> </li>
					<li style="padding-top: 35px;"><a href="#"style="color: #000000;text-decoration: none;">支付宝绑定设置</a> </li>
					<li style="padding-top: 35px;"><a href="#"style="color: #000000;text-decoration: none;">微信绑定设置</a> </li>
					<li style="padding-top: 35px;"><a href="#"style="color: #000000;text-decoration: none;">个人交易信息</a> </li>
					<li style="padding-top: 35px;"> <a href="#"style="color: #000000;text-decoration: none;">收货地址</a></li>
					<li style="padding-top: 35px;"> <a href="#"style="color: #000000;text-decoration: none;">网站提醒</a></li>
					<li style="padding-top: 35px;"> <a href="#"style="color: #000000;text-decoration: none;">旺旺网页版设置</a></li>
					<li style="padding-top: 35px;"><a href="#"style="color: #000000;text-decoration: none;">应用授权</a> </li>
					<li style="padding-top: 35px;"><a href="#"style="color: #000000;text-decoration: none;">分享绑定</a> </li>
				</ul>
				</dt>
			</div>
		</div>
		<div id="right">
			<table style="float: left;margin-top: 50px;padding-left: 40px; height: 800px;width: 70%;">
				<tr style="background-color: honeydew;">
				<td colspan="2"><font color="royalblue"style="font-weight: bold;font-size: 25px;">收货地址</font></td>
				<tr>
				<td style="text-align: center;width: 10%;"><font color="orangered">新增收货地址:</font>
				</td>
				<td style="text-align: left;" >
				<font>
					电话号码、手机号选填一项,其余均为必填项
				</font> 
				</td>
				</tr>
				<tr>
					<td style="text-align: center;width: 10%;"><font>所在地区</font><font color="#FF0000">*</font></td>
					<td> 
					<select id="province" style="height: 30px;width:120px;">
						<option>请选择省份</option>
					</select>
					<select id="city"style="height: 30px;width:120px;">
						<option>请选择城市</option>
					</select>
					<select id="area" style="height: 30px;width:120px;">
						<option>请选择地区</option>
					</select>
					</td>
				</tr>
					
				<tr>
					<td style="text-align: center;width: 10%;"><font style="position: ;">详细地址</font><font color="#FF0000">*</font></td>
					<td>	<textarea name="introduction" rows="10" cols="80" style="color: lightgray;">建议您如实填写详细收货地址,例如街道名称,门牌号码,楼层和房间号等信息</textarea></td>
				</tr>
				<tr>
					<td style="text-align: center;width: 10%;"><font>邮政编码</font><font color="#FF0000">*</font></td>
					<td><input type="text"   placeholder="如您不清楚邮递区号,请写000000" style="color: lightgray;height: 30px;width: 230px;" /> </td>
				</tr>
					
					<tr>
						<td style="text-align: center;width: 10%;"><font>收货人姓名</font><font color="#FF0000">*</font></td>
						<td><input type="text"  placeholder="长度不超过25个字符" style="color: lightgray;height: 30px;width: 200px;"/> </td>
					</tr>
				<tr>
					<td style="text-align: center;width: 10%;"><font>手机号码</font></td>
					<td>
						<select style="height: 30px;width:120px;">
							<option selected="selected" disabled="disabled">中国大陆+86</option>
							<option>港澳台</option>
							<option></option>
						</select>
						<input type="text"  placeholder="电话号码、手机号码必须填一项" style="color: lightgray;height: 30px;width: 200px;" /> </td>
				</tr>
				<tr>
					<td style="text-align: center;width: 10%;"><font>电话号码</font></td>
					<td>
						<select style="height: 30px;width:120px;">
							<option selected="selected" disabled="disabled">中国大陆+86</option>
							<option>港澳台</option>
							<option></option>
						</select>
						<input type="text"  placeholder="区号" style="color: lightgray;height: 30px;width: 90px;" /> 
						<input type="text"  placeholder="电话号码" style="color: lightgray;height: 30px;width: 90px;" />
						<input type="text"  placeholder="分机" style="color: lightgray;height: 30px;width: 90px;" /></td>
				</tr>
				<tr>
					<td colspan="2" style="padding-left: 180px;">
						<input type="checkbox"  />设置为默认收货地址
					</td>
					
				</tr>
				<tr style="height: 30px;">
					<td colspan="2" style="padding-left: 180px;">
						<input type="submit" value="保存" style="background-color: #FF0000;color: white;font-size: 25px;border-color: #FF0000;" />
					</td>
					
				</tr>
			</table>
		</div>
	</body>
	<script>
	 // 1.创建三维数组
	    var provinces=[];
	    provinces["江苏省"]=["南京市","无锡市","苏州市"];
	    provinces["浙江省"]=["杭州市","宁波市"];
	    provinces["安徽省"]=["合肥市","马鞍山市"];
	
	    var citys=[];
	    citys["南京市"]=["玄武区","雨花台区","鼓楼区","秦淮区","六合区"];
	    citys["无锡市"]=["滨湖区","惠山区","梁溪区"];
	    citys["苏州市"]=["姑苏区","吴江区"];
	    citys["杭州市"]=["西湖区","临安区","上城区"];
	    citys["宁波市"]=["江北区","江东区"];
	    citys["合肥市"]=["蜀山区","瑶海区"];
	    citys["马鞍山市"]=["花山区","雨山区"];
	
	
	    // 2.获取元素
	    var oprovince = document.getElementById('province');
	    var ocity = document.getElementById('city');
	    var oarea = document.getElementById('area');
	
	    for (province in provinces) {
	        oprovince.add(new Option(province, province))//省份下拉菜单
	    }
	    oprovince.onchange = function () {//省份下拉菜单内容改变时 执行的命令
	        var selectvalue = oprovince.value;//获取省份下拉菜单的值
	        ocity.innerHTML = '<option value="">请选择城市</option>';
	        oarea.innerHTML = ' <option value="">请选择市区</option>';
	        for (provincename in provinces) {//遍历省份的名称
	            if (provincename == selectvalue) {
	                for (cityname in provinces[provincename]) {//遍历城市名称
	                    ocity.add(new Option(provinces[provincename][cityname], provinces[provincename][cityname]));
	                }
	            }
	        }
	    }
	    ocity.onchange = function () {
	        oarea.innerHTML = ' <option value="">请选择市区</option>';
	        var cityValue = ocity.value;
	        for (i in citys) {//i是area数组的索引值(城市名称)
	            if (i == cityValue) {
	                for (j in citys[i]) {
	                    oarea.add(new Option(citys[i][j], citys[i][j]));
	                }
	            }
	        }
	    }
	
	    // 3.向省份菜单添加选项
	    for(province in provinces){
	        oPro.add(new Option(province,province))
	    }
	
	    // 4.根据省份选择城市
	    oPro.onchange=function(){
	        var sel_val=oPro.value;//获取选择的省份
	        oCity.innerHTML = '<option value="">请选择城市......</option>';
	        oArea.innerHTML = ' <option value="">请选择市区......</option>';
	        for(province in provinces){
	            if(province == sel_val){
	                for(cityname in provinces[province]){
	                    oCity.add(new Option(provinces[province][cityname],provinces[province][cityname]))
	                }
	            }
	            oCity.add(new Option())
	        }
	    }
	    oCity.onchange=function(){
	        var sel_val2=oCity.value;//获取选择的省份
	
	        for(city in citys){
	            if(province == sel_val){
	                for(areaname in provinces[province]){
	                    oArea.add(new Option(provinces[province][cityname],provinces[province][cityname]))
	                }
	            }
	            oCity.add(new Option())
	        }
	
	    }
		
	</script>
</html>

 效果图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值