JS实现省市级联效果

在JS中利用数组实现省市级联效果

注意:

  1. 文章中的代码仅仅是为了实现功能,并没有将所有的省市都写出来
  2. 代码实现了省市级联的功能,但是还没有加载到网页中,所以在参考本文章代码后要注意这个细节

html代码:

<dl class="register_row">
    <dt>所在地区:</dt>
        <dd><select id="province" onChange="changeCity()" style="width:120px;">
                <option>请选择省/城市</option>
            </select>
        </dd>
        <dd><select id="city"  style="width:130px;">
                <option>请选择城市/地区</option>
            </select>
        </dd>
</dl>

JS代码:

首先:  创建省市的二维数组:

var cityList = new Array();
cityList['北京市'] = ['朝阳区', '西城区', '海淀区', '宣武区', '丰台区', '怀柔', '延庆'];
cityList['上海市'] = ['宝山区', '长宁区', '丰贤区', '虹口区', '黄浦区', '青浦区'];
cityList['广州省'] = ['广州市', '惠州市', '汕头市', '珠海市', '佛山市'];

其次:  将所有的省份都添加到省份的  select  中:

function allProvince(){
	var pro = document.getElementById("province");
	for (var i in cityList){
		pro.add(new Option(i));
	}
}

最后:  根据省份,将所有的城市都添加到城市的  select  中:

function changeCity(){
	// 获得省份框中的值
	var pros = document.getElementById("province").value;
	var city = document.getElementById("city");	
	// 将city 列表中的值清空,放置再选择省份后,出现城市乱增加的情况
	city.options.length=0;
	// 遍历
	for (var i in cityList){
		if (i==pros){
			for (var j in cityList[i]){								
				// 将 Option标签添加到Select中
				city.add(new Option(cityList[i][j]),null);									
			}
		}
	}	
}

// 在页面加载时调用方法
window.onload = allProvince;

效果:  

        

        

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值