查看本章节

查看作业目录


需求说明:

使用数组实现省份和城市的级联菜单。具体要求如下

  • 在页面中添加城市时,根据选择的省份,动态地添加该省份的城市
  • 页面加载完毕后,第一个列表框填充“两湖两广”(湖北、湖南、广东和广西)省份,第二个列表框填充第一个省份的所有城市
  • 当选择省份时,如“湖北省”,第二个下拉列表框先清除选项,然后再填充“湖北省”的所有城市

实现思路:

  1. 在脚本中,声明一个省份数组和一个使用文字作为数组元素下标的全局数组变量,用来存储省份和城市
  2. 声明函数initProvince(),在第一个列表框中填充所有的省份名称
  3. 声明函数fillCity(),把在第一个列表框中选择的省份所对应的城市填充到第二个列表框中
  4. 在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数组实现省份和城市的级联菜单的更多相关文章

  1. 每天一个JavaScript实例-动态省份选择城市

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  2. JS实战 · 级联菜单选择省份和城市(两种)

    DOM编程步骤.思路 1.定义界面:      通过html标签将数据进行封装: 2.定义一些静态样式:      利用css: 3.需要动态地完成的和用户的交互:      a:明确事件源:     ...

  3. 通过Ajax异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)

    之前有写过是从JavaScript数组里获取省市信息来实现二级联动,但是似乎有很多需求是要从数据库里获取信息,所以就需要根据异步提交,局部刷新的思想来实现来提高用户交互问题 第一种方法是xml方法 1 ...

  4. javascript之DOM编程实现城市的联动框

    需求;用一张图片表示. 分析: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  5. 转: javascript实现全国城市三级联动菜单代码

    <html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...

  6. 基于Jquery实现省份、城市、区县三级联动

    前端感觉写的比较少,也是为了练手,下午没事用来写了这个三级联动,也是第一次写这东西. 据我了解,城市信息可以选择存在数据库或者直接写在前端,为了省事,我直接写在前端,下面是我的代码: <!DOC ...

  7. JavaScript数组常见操作

    JavaScript数组常见操作 Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[ ...

  8. Java使用纯真IP库获取IP对应省份和城市

    原文:http://blog.csdn.net/chwshuang/article/details/78027873?locationNum=10&fps=1 Java使用纯真IP库获取IP对 ...

  9. android读取xml文件来实现省份,城市,区的选择

    本博客如需转载.请注明出处. ------------------------------------------------------------------------------------- ...

随机推荐

  1. 【Reverse】每日必逆0x03

    BUU-刮开有奖 附件:https://files.buuoj.cn/files/abe6e2152471e1e1cbd9e5c0cae95d29/8f80610b-8701-4c7f-ad60-63 ...

  2. Mybatis 批量插入

    一.首先对于批量数据的插入有两种解决方案(下面内容只讨论和Mysql交互的情况) 1)for循环调用Dao中的单条插入方法 2)传一个List<Object>参数,使用Mybatis的批量 ...

  3. Rest使用get还是post

    1. get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.post是通过 ...

  4. Can we access global variable if there is a local variable with same name?

    In C, we cannot access a global variable if we have a local variable with same name, but it is possi ...

  5. 页面屏蔽backspace键

    1 //页面加载完成 2 $(document).ready(function(){ 3 //禁止退格键 作用于Firefox.Opera 4 document.onkeypress = banBac ...

  6. redis入门到精通系列(六):redis的事务详解

    (一)事务的概念 谈到数据库的高级应用,不可避免会谈到事务.熟悉mysql的朋友们对事务肯定不陌生,简单来讲事务就是控制一个数据库操作序列要么全部执行要么全部不执行.今天我们就来了解redis中的事务 ...

  7. 【Spring Framework】12种spring中定义bean的方法

    前言 在庞大的java体系中,spring有着举足轻重的地位,它给每位开发者带来了极大的便利和惊喜.我们都知道spring是创建和管理bean的工厂,它提供了多种定义bean的方式,能够满足我们日常工 ...

  8. JS - 字符串转换成数组,数组转换成字符串

    1.字符串转换成数组: var arr = "1, 2, 3, 4, 5, 6"; arr.split(","); // ["1",&quo ...

  9. 使用 IntelliJ IDEA 远程调试 Tomcat

    一.本地 Remote Server 配置 添加一个Remote Server 如下图所示 1. 复制JVM配置参数,第二步有用 2. 填入远程tomcat主机的IP地址和想开启的调试端口(自定义) ...

  10. 4、Redis基础

    redis性能 1.关于测试性能 官方自带的测试性能的工具 redis-benchmark 压力测试工具 #进行压力测试.需求:测试:100个并发连接,100000个请求 #redis-benchma ...