<!DOCTYPE>
<html>
<head>
<title>级联下拉列表</title>
<meta charset="UTF-8">
</head> <body onload="load()">
<div>
<select class='prov' id='prov' onchange='changeCity()'>
<option value=''>--请选择省--</option>
</select>
<select class='city' id='city'>
<option value=''>--请选择市--</option>
</select>
</div> <script>
var province=document.getElementById("prov");
var city=document.getElementById("city");
var arr_prov=new Array(new Option("--请选择省--",''),new Option("湖南","hn"),new Option("广东","gd"));
var arr_city=new Array();
arr_city[0]=new Array(new Option("--请选择市--",''));
arr_city[1]=new Array(new Option("长沙",'cs'),new Option("娄底",'ld'),new Option("永州",'yz'));
arr_city[2]=new Array(new Option("广州",'gz'),new Option("深圳",'sz'));
//动态载入所有省份
function load(){
for(var i=0;i<arr_prov.length;i++){
province.options[i]=arr_prov[i];
}
}
//选中省份之后,根据索引动态载入相应城市
function changeCity(){
//清空上次的选项
city.options.length=0;
//获取省一级的下拉列表选中的索引
var index=province.selectedIndex;
for(var i=0;i<arr_city[index].length;i++){
city.options[i]=arr_city[index][i];
}
}
</script>
</body>
</html>
要点:
1.省份信息可以在页面加载时就导入
2.城市信息随着省份选择的改变而改变,故应放在省份的onchange函数内
3.本例核心:selectedIndex属性,下拉列表所选中项的索引
4.一个bug处理:若不加上“city.options.length=0”,则在city列表中,上一省份对应城市的结果会影响下一省份的城市列表(不妨试一试);故要用这条代码清空列表,消除影响。

最新文章

  1. LeetCode-5LongestPalindromicSubstring(C#)
  2. [20160731][转]JAVA当中变量什么时候需要初始化
  3. MyBatis Generator自动生成的配置及使用
  4. Go语言并发与并行学习笔记(二)
  5. IBM X3650 M4安装win 2008 Server操作指南
  6. C# 导出一个控件的矢量图
  7. c语言变量名称与变量
  8. TreeList 实现多表头
  9. /lib /usr/lib /usr/local/lib 区别
  10. [Javascript + rxjs] Simple drag and drop with Observables
  11. Qt for Mac:发布程序(widgets和quick2)
  12. Linux中kettle启动spoon.sh遇到的问题
  13. .htaccess rewrite 规则详细说明
  14. 2019春第九周作业Compile Summarize
  15. pyqt5-数据库加载错误解决
  16. 使用rke快速安装K8s集群
  17. 待解决close
  18. pointer &amp; iterator
  19. 【读书笔记】iOS-优化iOS Web应用
  20. JavaScript之对原生JavaScript对象及其原型扩展初探

热门文章

  1. PHP从入门到精通(二)
  2. ACM-ICPC 2018 徐州赛区网络预赛 G. Trace-树状数组-区间修改,单点查询
  3. 四则运算 C 语言
  4. linux内核期中总结
  5. 【课程总结】Linux内核分析课程总结
  6. git工具使用包括上传本地代码到服务器
  7. HDOJ2041_超级楼梯(斐波拉契数列)
  8. SVN入门教程
  9. Activiti启动某个流程失败,页面报500
  10. Win2016以及win10 IIS10 下安装IEwebcontrol的方法