使用JavaScript数组实现省份和城市的级联菜单
查看本章节
查看作业目录
需求说明:
使用数组实现省份和城市的级联菜单。具体要求如下
- 在页面中添加城市时,根据选择的省份,动态地添加该省份的城市
- 页面加载完毕后,第一个列表框填充“两湖两广”(湖北、湖南、广东和广西)省份,第二个列表框填充第一个省份的所有城市
- 当选择省份时,如“湖北省”,第二个下拉列表框先清除选项,然后再填充“湖北省”的所有城市


实现思路:
- 在脚本中,声明一个省份数组和一个使用文字作为数组元素下标的全局数组变量,用来存储省份和城市
- 声明函数initProvince(),在第一个列表框中填充所有的省份名称
- 声明函数fillCity(),把在第一个列表框中选择的省份所对应的城市填充到第二个列表框中
- 在window 的onload 事件中绑定initProvince() 方法和fillCity() 方法 给第一个列表框<select> 标签的onchange 事件绑定fillCity() 方法
实现代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script type="text/javascript">
var provinces=new Array('湖北省','湖南省','广东省','广西省');
var citys=new Array();
citys['湖北省']=['武汉','黄石','宜昌','襄阳','孝感','黄冈'];
citys['湖南省']=['长沙','衡阳','岳阳','常德','张家界','怀化'];
citys['广东省']=['广州','深圳','珠海','汕头','佛山','江门'];
citys['广西省']=['南宁','桂林','北海','玉林','百色','贺州'];
function initProvince(){
var province=document.getElementById("province");
for (var i=0;i<provinces.length;i++) {
var option=document.createElement("option");
option.text=provinces[i];
option.value=provinces[i];
province.options.add(option);
}
}
function fillCity(){
var city=document.getElementById("city");
city.options.length=0;
var province=document.getElementById("province").value;
console.log(province);
console.log(citys[province]);
for (var i=0;i<citys[province].length;i++){
var option=document.createElement("option");
option.text=citys[province][i];
option.value=citys[province][i];
city.options.add(option);
}
}
window.onload=function(){
initProvince();
fillCity();
}
</script>
<h2>请选择城市<br />
省份:<select id="province" onchange="fillCity()"></select>
城市:<select id="city"></select>
</h2>
</body>
</html>
使用JavaScript数组实现省份和城市的级联菜单的更多相关文章
- 每天一个JavaScript实例-动态省份选择城市
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- JS实战 · 级联菜单选择省份和城市(两种)
DOM编程步骤.思路 1.定义界面: 通过html标签将数据进行封装: 2.定义一些静态样式: 利用css: 3.需要动态地完成的和用户的交互: a:明确事件源: ...
- 通过Ajax异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
之前有写过是从JavaScript数组里获取省市信息来实现二级联动,但是似乎有很多需求是要从数据库里获取信息,所以就需要根据异步提交,局部刷新的思想来实现来提高用户交互问题 第一种方法是xml方法 1 ...
- javascript之DOM编程实现城市的联动框
需求;用一张图片表示. 分析: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...
- 转: javascript实现全国城市三级联动菜单代码
<html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...
- 基于Jquery实现省份、城市、区县三级联动
前端感觉写的比较少,也是为了练手,下午没事用来写了这个三级联动,也是第一次写这东西. 据我了解,城市信息可以选择存在数据库或者直接写在前端,为了省事,我直接写在前端,下面是我的代码: <!DOC ...
- JavaScript数组常见操作
JavaScript数组常见操作 Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[ ...
- Java使用纯真IP库获取IP对应省份和城市
原文:http://blog.csdn.net/chwshuang/article/details/78027873?locationNum=10&fps=1 Java使用纯真IP库获取IP对 ...
- android读取xml文件来实现省份,城市,区的选择
本博客如需转载.请注明出处. ------------------------------------------------------------------------------------- ...
随机推荐
- 【Reverse】每日必逆0x00
附件:https://files.buuoj.cn/files/aa4f6c7e8d5171d520b95420ee570e79/a9d22a0e-928d-4bb4-8525-e38c9481469 ...
- Output of C++ Program | Set 17
Predict the output of following C++ programs. Question 1 1 #include <iostream> 2 using namespa ...
- zabbix之修改中文
#在zabbix服务器安装中文名包 root@ubuntu:~# sudo apt-get install language-pack-zh* #:修改环境变量 root@ubuntu:~# sudo ...
- 通过js进行页面跳转的几种方式
1.<a>标签 <a href="www.baidu.com" title="百度">百度</a> <a href= ...
- SpringMvc分析
1.用户单击某个请求路径,发起一个request请求,此请求会被前端控制器(DispatcherServlet)处理 2.前端控制器(DispatcherServlet)请求处理器映射器(Handle ...
- 为什么要用urlencode()函数进行url编码
URLEncode就是将URL中特殊部分进行编码.URLDecoder就是对特殊部分进行解码. 因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的 譬如:你要传的 ...
- Markdown 语法粗学
Markdown 语法粗学 Typora下载 Typora官网 下拉点击右上角 选择下载即可 里面选择自己想要的系统下载即可 如果下载缓慢,推荐使用各自的下载工具或者使用软件管家等 亲测迅雷速度尚可 ...
- 显示大纲数字(Project)
<Project2016 企业项目管理实践>张会斌 董方好 编著 话说摘要任务,给人的感觉,就像Word里的大纲级别,可我也知道,好多同学不习惯用大纲级别,而是偏爱用编号级别,最常见的也就 ...
- HMS Core版本发布公告
新增动作捕捉能力.通过简单拍摄即可获得人体3D骨骼关键点数据,广泛应用于虚拟形象.体育运动和医学分析等场景: 3D物体建模能力iOS版本上线. 查看详情>> 新增道路吸附能力.可根据坐标点 ...
- Android NDK开发篇:Java与原生代码通信(原生方法声明与定义与数据类型)
Java与原生代码通信涉及到原生方法声明与定义.数据类型.引用数据类型操作.NIO操作.访问域.异常处理.原生线程 1.原生方法声明与定义 关于原生方法的声明与定义在上一篇已经讲一点了,这次详细分析一 ...