javascript基于DOM实现省市级联下拉框的方法


Posted in Javascript onMay 14, 2015

本文实例讲述了javascript基于DOM实现省市级联下拉框的方法。分享给大家供大家参考。具体实现方法如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>省市级联下拉框</title>
<script type="text/javascript">
var provs = { "江西省": ["南昌市", "景德镇", "九江", "鹰潭", "萍乡", "新馀", "赣州", "吉安", "宜春", "抚州", "上饶"],
  "福建省": ["福州", "厦门", "莆田", "三明", "泉州", "漳州", "南平", "龙岩", "宁德"],
  "河北省": ["石家庄", "邯郸", "邢台", "保定", "张家口", "承德", "廊坊", "唐山", "秦皇岛", "沧州", "衡水"]
};
function loadProv() {
  //加载省份数据
  var prov = document.getElementById("prov");
  for (var key in provs) {
    var provName = key;
    var optProv = document.createElement("option");
    optProv.value = provName;
    optProv.innerText = provName;
    prov.appendChild(optProv);
  }
}
function provChange() {
  var prov = document.getElementById("prov");
  var city = document.getElementById("city");
  var provName = prov.value;
  //如果没有选择省份,则把城市下拉框隐藏
  if (provName == "none") {
    city.style.display = "none";
    return;
  }
  else {
    city.style.display = "";
  }
  var citys = provs[provName];
  //city.options.length = 0;
  //用这种方法也可以清空原始列表
  //清空城市的原始数据
  for (var i = city.childNodes.length - 1; i >= 0; i--) {
    var child = city.childNodes[i];
    city.removeChild(child);
  }
  //添加新的城市数据
  for (var i = 0; i < citys.length; i++) {
    var optCity = document.createElement("option");
    optCity.value = citys[i];
    optCity.innerText = citys[i];
    city.appendChild(optCity);
  }
}
</script>
</head>
<body onload="loadProv()">
<select id="prov" onchange="provChange()">
<option value="none">请选择省</option>
</select>
<select id="city" style="display:none"></select>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
音乐播放用的的几个函数
Sep 07 Javascript
js使用栈来实现10进制转8进制与取除数及余数
Jun 11 Javascript
JavaScript获取伪元素(Pseudo-Element)属性的方法技巧
Mar 13 Javascript
jquery使用remove()方法删除指定class子元素
Mar 26 Javascript
jQuery validate验证插件使用详解
May 11 Javascript
jQuery学习笔记——jqGrid的使用记录(实现分页、搜索功能)
Nov 09 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
详解axios在node.js中的post使用
Apr 27 Javascript
jQuery导航条固定定位效果实例代码
May 26 jQuery
深入理解react-router 路由的实现原理
Sep 26 Javascript
微信小程序onShareTimeline()实现分享朋友圈
Jan 07 Javascript
Vue常用API、高级API的相关总结
Feb 02 Vue.js
javascript搜索框效果实现方法
May 14 #Javascript
javascript操作ul中li的方法
May 14 #Javascript
javascript中createElement的两种创建方式
May 14 #Javascript
javascript常用方法总结
May 14 #Javascript
javascript实现动态改变层大小的方法
May 14 #Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
May 14 #Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
May 13 #Javascript
You might like
环境会对咖啡种植有什么影响
2021/03/03 咖啡文化
php中判断数组相等的方法以及数组运算符介绍
2015/03/30 PHP
PHP内核探索之变量
2015/12/22 PHP
深入理解php printf() 输出格式化的字符串
2016/05/23 PHP
php变量与数组相互转换的方法(extract与compact)
2016/12/02 PHP
Ajax+PHP实现的模拟进度条功能示例
2019/02/11 PHP
Codeigniter里的无刷新上传的实现代码
2019/04/14 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
Riot.js 快速的JavaScript单元测试框架
2009/11/09 Javascript
jquery+json 通用三级联动下拉列表
2010/04/19 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
2017/01/08 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
在Python的Flask框架下收发电子邮件的教程
2015/04/21 Python
python3获取两个日期之间所有日期,以及比较大小的实例
2018/04/08 Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
2019/03/11 Python
python使用adbapi实现MySQL数据库的异步存储
2019/03/19 Python
python如何保存文本文件
2020/06/07 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
Python爬虫爬取微博热搜保存为 Markdown 文件的源码
2021/02/22 Python
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
初中班主任评语
2014/04/24 职场文书
廉洁教育学习材料
2014/05/19 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
高中学校对照检查材料
2014/08/31 职场文书
大学生党员个人对照检查材料范文
2014/09/25 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
基层干部个人对照检查及整改措施
2014/10/28 职场文书
2014年终工作总结范本
2014/12/15 职场文书
二年级作文之动物作文
2019/11/13 职场文书
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs