查看本章节

查看作业目录


需求说明:

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

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

实现思路:

  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. swagger文档

    关键配置文件 spring boot demo pom.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  2. Servlet(3):Cookie和Session

    一. Cookie Cookie是客户端技术,程序把每个用户的数据以cookie的形式写给用户各自的浏览器.当用户使用浏览器再去访问服务器中的web资源时,就会带着各自的数据去.这样,web资源处理的 ...

  3. 渐进式web应用 (PWA)

    PWA(渐进式 Web 应用)运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序. PWA的特点: Discoverable, 内容可以通过搜索引擎发现. Instal ...

  4. python的urllib学习

    1.基本方法 urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=Fals ...

  5. 「Python实用秘技02」给Python函数定“闹钟”

    本文完整示例代码及文件已上传至我的Github仓库https://github.com/CNFeffery/PythonPracticalSkills 这是我的系列文章「Python实用秘技」的第2期 ...

  6. Mysql的基操

    创建一个数据库   (myschool是数据库名) create database myschool; 删除数据库 drop database myschool 创建一个表:(Student是 表名) ...

  7. Android: Client-Server communication by JSON

    Refer to: http://osamashabrez.com/client-server-communication-android-json/ This is a sequel to my l ...

  8. picoctf_2018_rop chain

    拿到题目就知道要用rop来做 老样子日常检查一下 32位的程序开启了nx和relro保护 将程序放入ida中 一眼就看到了程序中的后门程序 我们逐一分析一下 main vuln get没有对输入字符进 ...

  9. [BUUCTF]PWN——inndy_rop

    inndy_rop 附件 步骤: 例行检查,32位,开启了nx保护 本地调试运行没看出个啥,直接上ida,一开始f5会报错, 找到报错提示的位置,点击option–>general调出如图的界面 ...

  10. LuoguP5139 z小f的函数 题解

    Content 给定 \(T\) 个二次函数 \(y=ax^2+bx+c\),有若干次操作,有一个操作编号 \(p\),保证仅为以下这五种: 操作 \(1\):给定 \(k\),将函数图像向上移动 \ ...