级联菜单显示省份
来源:互联网 发布:淘宝怎么修改地址手机 编辑:程序博客网 时间:2024/05/17 03:02
级联菜单的实现
下面是一个级联菜单的实现案例:
选择广东省之后,在第二个下拉菜单就会显示相应的城市名称:
当你选择了某个城市之后,如果在这个市里还其他的地区就会再次出现一个下拉菜单:
第三个下拉菜单就是对应的区域:
下面就是相应的js代码:
<script type="text/javascript" src="sitedata_bas.js" charset="GBK"></script>
//上一行的代码是引用外部的js文件,该文件中是存储相应的省份、城市、地区的名称数组
由于这个js文件中的数据比较大,在这里就列出部分:
var arrCity =[ { name:"请选择", sub:[{name:"请选择"}], type:1}, { name:"北京", sub:[{name:"请选择"},{name:"东城区"},{name:"西城区"},{name:"崇文区"},{name:"宣武区"},{name:"朝阳区"},{name:"海淀区"},{name:"丰台区"},{name:"石景山区"},{name:"房山区"},{name:"通州区"},{name:"顺义区"},{name:"昌平区"},{name:"大兴区"},{name:"怀柔区"},{name:"平谷区"},{name:"门头沟区"},{name:"密云县"},{name:"延庆县"},{name:"其他"}], type:0 }, { name:"广东", sub:[{name:"请选择",sub:[]},]
你可以仿照上面的添加内容就可以了
//下面就是实现级联菜单的主要逻辑:
<script> var Utils = {}; Utils.addEvent = function(el, type, func) { if (document.addEventListener) { el.addEventListener(type, func, false); } else if (document.attachEvent) { el.attachEvent('on' + type, func); } }; Utils.addEvent(window, 'load', function() { var region1 = document.getElementById("region1");//这是对应的下来菜单的id(只需修改这里就可以用了) var region2 = document.getElementById("region2");//这是对应的下来菜单的id var region3 = document.getElementById("region3");//这是对应的下来菜单的id for ( var i = 0; i < arrCity.length; i++) { region1.options[i] = new Option(arrCity[i].name, arrCity[i].name); } region2.options[0] = new Option("请选择", "请选择"); region3.style.display = "none"; Utils.addEvent(region1, 'change', function() { var region1_obj = arrCity[region1.selectedIndex]; var region2_arr = region1_obj.sub; region2.options.length = 0; region3.options.length = 0; region3.style.display = "none"; for ( var i = 0; i < region2_arr.length; i++) { region2.options[i] = new Option(region2_arr[i].name, region2_arr[i].name); } }); Utils.addEvent(region2, 'change', function() { var region1_obj = arrCity[region1.selectedIndex]; var region2_obj = region1_obj.sub[region2.selectedIndex]; var region3_arr = region2_obj.sub; if (region2_obj.type == 0) { region3.options.length = 0; region3.style.display = "inline"; for ( var i = 0; i < region3_arr.length; i++) { region3.options[i] = new Option(region3_arr[i].name, region3_arr[i].name); } } else { region3.style.display = "none"; } }); });</script>
在页面中你需要写的除了上面的js代码外,还要写出三个下拉菜单:
省份:<select id="region1" name="region1"></select>
城市:<select id="region2" name="region2"></select>
区域:<select id="region3" name="region3"></select>
- 级联菜单显示省份
- 全国省份城市级联下拉菜单
- 省份级联
- JS实战 · 级联菜单选择省份和城市
- 构建省份城市级联
- 省份2级联动
- dojo实现省份地市级联---省份数据源
- 利用Jquery实现级联省份
- 省份和地市的级联
- IOS级联(省份和城市)
- 用Flex实现级联,实现选择省份,显示该省的所有城市
- 省份下拉菜单实现
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 级联菜单
- 菜单级联
- ocm考试最精炼oracle10g手动建库脚本
- copy
- 解析XML文件(二)----使用dom4j方式(一)
- Java获取路径
- DirectX SDK 各版本开发包下载地址合集
- 级联菜单显示省份
- Graphite实战
- JavaScript程序开发(十三)—RegExp类型
- kill相同的进程、awk基础知识
- android 字符串特殊字符转义
- SHGetSpecialFolderPath
- 关于SqlDataReader与SqlDataAdapter的一点点不同的解读
- IOS开发 解决UIButton点击事件不识别
- 动态代理CGLIB