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 相关文章推荐
解放web程序员的输入验证
Oct 06 Javascript
js移除事件 js绑定事件实例应用
Nov 28 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 Javascript
JavaScript函数详解
Feb 27 Javascript
jQuery的load()方法及其回调函数用法实例
Mar 25 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
jquery.Jcrop结合JAVA后台实现图片裁剪上传实例
Nov 05 Javascript
vuex 解决报错this.$store.commit is not a function的方法
Dec 17 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 Javascript
vue实现浏览器全屏展示功能
Nov 27 Javascript
JS运算符简单用法示例
Jan 19 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 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
短波收音机简介
2021/03/01 无线电
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
2017/08/17 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
javaScript同意等待代码实现心得
2011/01/01 Javascript
浅谈javascript中call()、apply()、bind()的用法
2015/04/20 Javascript
基于jQuery实现动态数字展示效果
2015/08/12 Javascript
跟我学习javascript的浮点数精度
2015/11/16 Javascript
JS实现的倒计时效果实例(2则实例)
2015/12/23 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
为什么我们要做三份 Webpack 配置文件
2017/09/18 Javascript
nodejs+mongodb aggregate级联查询操作示例
2018/03/17 NodeJs
[16:27]DOTA2 HEROS教学视频教你分分钟做大人-艾欧
2014/06/11 DOTA
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
python re正则表达式模块(Regular Expression)
2014/07/16 Python
Python用GET方法上传文件
2015/03/10 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
python的pip有什么用
2020/06/17 Python
python regex库实例用法总结
2021/01/03 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
2014/06/23 HTML / CSS
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
教育学习自我评价
2014/02/03 职场文书
银行服务感言
2014/03/01 职场文书
岗位职责怎么写
2014/03/14 职场文书
网站美工岗位职责
2014/04/02 职场文书
五四青年节演讲稿
2014/05/26 职场文书
光棍节联谊晚会活动策划书
2014/10/10 职场文书
2015年学校教务处工作总结
2015/05/11 职场文书
2015年仓库管理工作总结
2015/05/25 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
python随机打印成绩排名表
2021/06/23 Python