是首先应该添加两个下拉列表并设置id属性来方便操作:

 <select id="country">
<option>国家</option>
</select>
<select id="city">
<option>城市</option>
</select>

js代码中首先需要声明国家和城市两个数组:

var country = ['中国', '美国','英国']
var city = [
['北京', '上海'],
['纽约'],
['伦敦']
]

然后通过id获取页面中的下拉菜单元素:

var cou = document.getElementById("country");
var cit = document.getElementById("city");

然后初始化第一个列表:

//初始化国家下拉列表
for(var i = 0; i < country.length; i++) {
//新的option
var option = new Option()
//赋值
option.appendChild(document.createTextNode(country[i]))
//插入
cou.appendChild(option)
}

在第一个下拉列表中选择国家后,第二个列表显示相应的城市:

//为国家下拉列表添加事件
cou.addEventListener('change', function(){
//另城市列表变为初始状态,可以注释掉查看效果
cit.options.length = 1;
//如果国家选择不为默认值
if(cou.selectedIndex != 0) {
//遍历相应国家的城市
for(var j = 0; j < city[cou.selectedIndex - 1].length; j++) {
var option2 = new Option(city[cou.selectedIndex-1][j],city[cou.selectedIndex-1][j])
cit.options.add(option2)
}
}
});
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title> </head>
<body>
<select id="country">
<option>国家</option>
</select>
<select id="city">
<option>城市</option>
</select>
<script> var country = ['中国', '美国','英国']
var city = [
['北京', '上海'],
['纽约'],
['伦敦']
] var cou = document.getElementById("country");
var cit = document.getElementById("city");
//初始化国家下拉列表
for(var i = 0; i < country.length; i++) {
//新的option
var option = new Option()
//赋值
option.appendChild(document.createTextNode(country[i]))
//插入
cou.appendChild(option)
}
//为国家下拉列表添加事件
cou.addEventListener('change', function(){
//另城市列表变为初始状态,可以注释掉查看效果
cit.options.length = 1;
//如果国家选择不为默认值
if(cou.selectedIndex != 0) {
//遍历相应国家的城市
for(var j = 0; j < city[cou.selectedIndex - 1].length; j++) {
var option2 = new Option(city[cou.selectedIndex-1][j],city[cou.selectedIndex-1][j])
cit.options.add(option2)
}
}
});
</script>
</body>
</html>

完整代码

最新文章

  1. shell脚本删除指定mobileprovision
  2. vs快捷键大全
  3. jxl_1
  4. ZKM混淆工具
  5. Mithril – 构建杰出 Web 应用的 JS MVC 框架
  6. node.js express的安装过程
  7. Newton‘ method 的优缺点
  8. Linux高性能server规划——多进程编程
  9. 屏蔽webbrowser控件右键的一种方法
  10. JS判断字符串是否全为中文
  11. amazeui 搜索 动态
  12. 开始你的第一个npm脚本工具
  13. linux服务器配置pyspark解决py4j报错等问题
  14. 一天搞懂深度学习-训练深度神经网络(DNN)的要点
  15. Elasticsearch NEST 控制字段名称命名格式
  16. python3集合练习(set)
  17. mssql sqlserver 从指定字符串中获取数字的方法
  18. Codeforces Round #513 by Barcelona Bootcamp (rated, Div. 1 + Div. 2) C D
  19. .net DataTable序列化成Json
  20. Android之xml解析

热门文章

  1. ckeditor实现ctrl+v粘贴word图片并上传
  2. 浅谈神经网络中的bias
  3. 【CTS2019】珍珠【生成函数,二项式反演】
  4. 关于openstack 专业博主地址.后续更新
  5. iOS Jenkins 自动化打包构建
  6. JavaWeb_(Spring框架)Spring中IoC与DI概念入门
  7. C语言中内存对齐规则讨论(struct)
  8. ETL定义、四大模块及子系统说明
  9. Python进行Redis数据迁移
  10. HTTP之缓存