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设置div一直在页面顶部显示的方法
Oct 24 Javascript
jquery查找父元素、子元素(个人经验总结)
Apr 09 Javascript
jQuery中siblings()方法用法实例
Jan 08 Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
Jun 01 Javascript
Google Maps基础及实例解析
Aug 06 Javascript
jQuery中ScrollTo用法示例
Sep 04 Javascript
使用Bootstrap打造特色进度条效果
May 02 Javascript
angular过滤器实现排序功能
Jun 27 Javascript
DVA框架统一处理所有页面的loading状态
Aug 25 Javascript
vue-amap根据地址回显地图并mark的操作
Nov 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
丧钟首部独立剧集《丧钟:骑士与龙》北美正式开播,场面血腥
2020/04/09 欧美动漫
php实现简单洗牌算法
2013/06/18 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
2015/01/07 PHP
yii使用bootstrap分页样式的实例
2017/01/17 PHP
详解PHP中curl_multi并发的实现
2020/06/08 PHP
javascript web对话框与弹出窗口
2009/02/22 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
jQuery新的事件绑定机制on()示例应用
2014/07/18 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
jQuery插件ajaxFileUpload异步上传文件
2016/10/19 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
2017/05/25 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
[02:10]DOTA2 TI10勇士令状玩法及不朽Ⅰ展示:焕新世界,如你所期
2020/05/29 DOTA
Python中类的继承代码实例
2014/10/28 Python
为python设置socket代理的方法
2015/01/14 Python
Python中XlsxWriter模块简介与用法分析
2018/04/24 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
简单了解python反射机制的一些知识
2019/07/13 Python
python实现堆排序的实例讲解
2020/02/21 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
基于python实现判断字符串是否数字算法
2020/07/10 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
前端水印的简单实现代码示例
2020/12/02 HTML / CSS
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
意大利体育用品和运动服网上商店:Maxi Sport
2019/09/14 全球购物
合伙协议书
2014/04/23 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
详解MySQL的Seconds_Behind_Master
2021/05/18 MySQL