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 相关文章推荐
jQuery 获取对象 定位子对象
May 31 Javascript
JS实现div内部的文字或图片自动循环滚动代码
Apr 19 Javascript
jquery实现的随机多彩tag标签随机颜色和字号大小效果
Mar 27 Javascript
Bootstrap每天必学之缩略图与警示窗
Nov 29 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
ejsExcel模板在Vue.js项目中的实际运用
Jan 27 Javascript
完美解决linux下node.js全局模块找不到的情况
May 16 Javascript
深入理解JavaScript的值传递和引用传递
Oct 24 Javascript
ES6的解构赋值实例详解
May 06 Javascript
jsonp跨域获取百度联想词的方法分析
May 13 Javascript
原生js代码能实现call和bind吗
Jul 31 Javascript
electron+vue实现div contenteditable截图功能
Jan 07 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
IIS7.X配置PHP运行环境小结
2011/06/09 PHP
php使用session二维数组实例
2014/11/06 PHP
php文件上传类的分享
2017/07/06 PHP
thinkPHP5框架分页样式类完整示例
2018/09/01 PHP
javascript call方法使用说明
2010/01/11 Javascript
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
js创建数组的简单方法
2016/07/27 Javascript
javascript实现QQ空间相册展示源码
2017/12/12 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
微信小程序wxml列表渲染原理解析
2019/11/27 Javascript
微信小程序点击view动态添加样式过程解析
2020/01/21 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
Python的Django框架中从url中捕捉文本的方法
2015/07/20 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
Java编程迭代地删除文件夹及其下的所有文件实例
2018/02/10 Python
python如何将图片转换为字符图片
2020/08/19 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
django框架自定义用户表操作示例
2018/08/07 Python
对python使用telnet实现弱密码登录的方法详解
2019/01/26 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
Python 使用生成器代替线程的方法
2020/08/04 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
设置器与访问器的定义以及各自特点
2016/01/08 面试题
颁奖晚会主持词
2014/03/25 职场文书
责任胜于能力演讲稿
2014/05/20 职场文书
求职信结尾怎么写
2014/05/26 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
2014年党建工作汇报材料
2014/11/02 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
2015年学校政教工作总结
2015/07/20 职场文书
运动会新闻报道稿
2015/07/22 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python