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 相关文章推荐
showModalDialog 和 showModelessDialog
Jan 22 Javascript
Display SQL Server Version Information
Jun 21 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
Nov 25 Javascript
深入理解JSON数据源格式
Jan 10 Javascript
js 显示base64编码的二进制流网页图片
Apr 04 Javascript
Jquery方式获取iframe页面中的 Dom元素
May 07 Javascript
什么是Node.js?Node.js详细介绍
Jun 01 Javascript
window.open()实现post传递参数
Mar 12 Javascript
一个极为简单的requirejs实现方法
Oct 20 Javascript
详解微信小程序Page中data数据操作和函数调用
Sep 27 Javascript
vue实现标签云效果的方法详解
Aug 28 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
May 09 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
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php广告加载类用法实例
2014/09/23 PHP
深入理解PHP内核(二)之SAPI探究
2015/11/10 PHP
PHP children()函数讲解
2019/02/03 PHP
Yii框架日志操作图文与实例详解
2019/09/09 PHP
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
javascript object array方法使用详解
2012/12/03 Javascript
JavaScript使用DeviceOne开发实战(二) 生成调试安装包
2015/12/01 Javascript
js CSS3实现卡牌旋转切换效果
2017/07/04 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
vue如何通过id从列表页跳转到对应的详情页
2018/05/01 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
详解JavaScript实现动态的轮播图效果
2019/04/29 Javascript
[01:20]DOTA2更新全新英雄 天涯墨客现已加入游戏
2018/08/25 DOTA
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
python paramiko模块学习分享
2017/08/23 Python
python接口自动化(十六)--参数关联接口后传(详解)
2019/04/16 Python
PyQt5组件读取参数的实例
2019/06/25 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
Python使用py2neo操作图数据库neo4j的方法详解
2020/01/13 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
Python爬虫:Request Payload和Form Data的简单区别说明
2020/04/30 Python
css3 flex布局 justify-content:space-between 最后一行左对齐
2020/01/02 HTML / CSS
HTML5 使用 sessionStorage 进行页面传值的方法
2018/07/02 HTML / CSS
Canvas获取视频第一帧缩略图的实现
2020/11/11 HTML / CSS
莫斯科隐形眼镜网上商店:Linzi
2019/07/22 全球购物
党的群众路线教育实践活动总结
2014/10/30 职场文书
2015年幼儿园师德师风建设工作总结
2015/10/23 职场文书
用python实现监控视频人数统计
2021/05/21 Python
利用python进行数据加载
2021/06/20 Python
Vue深入理解插槽slot的使用
2022/08/05 Vue.js