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 相关文章推荐
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
JavaScript中检查对象property的存在性方法介绍
Dec 30 Javascript
jquery获取select选中值的方法分析
Dec 22 Javascript
jQuery简单动画变换效果实例分析
Jul 04 Javascript
AngularJS 表达式详细讲解及实例代码
Jul 26 Javascript
angular2倒计时组件使用详解
Jan 12 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
Apr 10 jQuery
使用 vue.js 构建大型单页应用
Feb 10 Javascript
jQuery实现表单动态添加数据并提交的方法
Jul 19 jQuery
Element-ui之ElScrollBar组件滚动条的使用方法
Sep 14 Javascript
详解JSON和JSONP劫持以及解决方法
Mar 08 Javascript
JavaScript实现汉字转换为拼音及缩写的方法示例
Mar 28 Javascript
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
聊天室php&amp;mysql(一)
2006/10/09 PHP
Javascript Math对象
2009/08/13 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
js简易版购物车功能
2017/06/17 Javascript
ES6 javascript中class类的get与set用法实例分析
2017/10/30 Javascript
Vue 组件传值几种常用方法【总结】
2018/05/28 Javascript
vue项目base64字符串转图片的实现代码
2018/07/13 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
[48:24]完美世界DOTA2联赛PWL S3 Forest vs INK ICE 第一场 12.09
2020/12/12 DOTA
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
2019/04/23 Python
Python 实现微信防撤回功能
2019/04/29 Python
Python使用统计函数绘制简单图形实例代码
2019/05/15 Python
python 中pyqt5 树节点点击实现多窗口切换问题
2019/07/04 Python
python 已知平行四边形三个点,求第四个点的案例
2020/04/12 Python
Python图像读写方法对比
2020/11/16 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
html5自定义video标签的海报与播放按钮功能
2019/12/04 HTML / CSS
StubHub巴西:购买和出售您的门票
2016/07/22 全球购物
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
英国高级百货公司:Harvey Nichols
2017/01/29 全球购物
AC Lens:购买隐形眼镜
2017/02/26 全球购物
伦敦眼门票在线预订:London Eye
2018/05/31 全球购物
新加坡网上美容店:Hermo新加坡
2019/06/19 全球购物
附答案的Java面试题
2012/11/19 面试题
应届生污水处理求职信
2013/11/06 职场文书
本科毕业生求职自荐信
2014/04/09 职场文书
阿甘正传观后感
2015/06/01 职场文书
新手入门Jvm-- JVM对象创建与内存分配机制
2021/06/18 Java/Android
sql字段解析器的实现示例
2021/06/23 SQL Server
elasticSearch-api的具体操作步骤讲解
2021/06/28 Java/Android
Java处理延时任务的常用几种解决方案
2022/06/01 Java/Android