本文实例讲述了js实现全国省市二级联动下拉选择菜单,分享给大家供大家参考。具体如下:
效果图:
具体代码:
<html>
<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />
<title>无标题文档</title>
<script type=\"text/javascript\">
//好像不是这样子
var arr_province = [\"请选择省/城市\",\"北京市\",\"上海市\",\"天津市\",\"重庆市\",\"深圳市\",\"广东省\",\"河南省\"];
var arr_city = [
[\"请选择城市/地区\"],
[\"东城区\",\"西城区\",\"朝阳区\",\"宣武区\",\"昌平区\",\"大兴区\",\"丰台区\",\"海淀区\"],
[\'宝山区\',\'长宁区\',\'丰贤区\', \'虹口区\',\'黄浦区\',\'青浦区\',\'南汇区\',\'徐汇区\',\'卢湾区\'],
[\'和平区\', \'河西区\', \'南开区\', \'河北区\', \'河东区\', \'红桥区\', \'塘古区\', \'开发区\'],
[\'俞中区\', \'南岸区\', \'江北区\', \'沙坪坝区\', \'九龙坡区\', \'渝北区\', \'大渡口区\', \'北碚区\'],
[\'福田区\', \'罗湖区\', \'盐田区\', \'宝安区\', \'龙岗区\', \'南山区\', \'深圳周边\'],
[\'广州市\',\'惠州市\',\'汕头市\',\'珠海市\',\'佛山市\',\'中山市\',\'东莞市\'],
[\'郑州市\']
];
//函数:当省份中的option改变时,城市中的数据应该相应的改变
function select_change(index)
{
var city = document.form1.city;
//根据当前index确定city中要写入的二维数组是哪一个
city.length = 0;
city.length = arr_city[index].length;
for(var i=0;i<arr_city[index].length;i++)
{
//创建每一个option对象(option标记)
city.options[i].text = arr_city[index][i];
city.options[i].value = arr_city[index][i];
}
}
//函数:给province对象添加option对象,每个option的内容来自于arr_province
function init()
{
//获取province和city对象
var province = document.form1.province;
var city = document.form1.city;
//指定下拉列表的高度,准备写入几个option的标记(很重要)
province.length = arr_province.length; //这句必须有
//循环数组,将数组内容写入到province中去
for(var i=0;i<arr_province.length;i++)
{
//创建每一个option对象(option标记)
province.options[i].text = arr_province[i];
province.options[i].value = arr_province[i];
}
//指定省份当前的默认选中索引号
var index = 0;
province.selectedIndex = index;
//对象city的内容来自于province的选择
//我们默认指定一个option,一般是下标为0的那个
city.length = arr_city[index].length;
for(var j=0;j<arr_city[index].length;j++)
{
//创建每一个option对象(option标记)
city.options[j].text = arr_city[index][j];
city.options[j].value = arr_city[index][j];
}
}
</script>
</head>
<body onload=\"init()\">
<form name=\"form1\">
省份:<select name=\"province\" onchange=\"select_change(this.selectedIndex)\" style=\"width:130px;\"></select>
城市:<select name=\"city\"></select>
</form>
</body>
</html>
希望本文所述对大家的javascript程序设计有所帮助。
本文地址:https://www.stayed.cn/item/26293
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我