js实现区县联动
1. 引入区县联动函数如下,将provinceList中数据改为需要联动的数据信息
var addressInit = function(_cmbProvince, _cmbCity, _cmbArea, _cmbStreet, defaultProvince, defaultCity, defaultArea,defaultStreet)
{
var cmbProvince = document.getElementById(_cmbProvince);
var cmbCity = document.getElementById(_cmbCity);
var cmbArea = document.getElementById(_cmbArea);
var cmbStreet = document.getElementById(_cmbStreet); function cmbSelect(cmb, str)
{
for(var i=0; i<cmb.options.length; i++)
{
if(cmb.options[i].value == str)
{
cmb.selectedIndex = i;
return;
}
}
}
function cmbAddOption(cmb, str, obj, num)
{
var option = document.createElement('OPTION');
cmb.options.add(option);
option.innerText = str;
option.value = num;
option.obj = obj;
console.log(num)
} function changeProvince()
{
cmbCity.options.length = 0;
cmbCity.onchange = null;
if(cmbProvince.selectedIndex == -1)return;
var item = cmbProvince.options[cmbProvince.selectedIndex].obj;
/**console.log(item)**/
for(var i=0; i<item.cityList.length; i++)
{
cmbAddOption(cmbCity, item.cityList[i].name, item.cityList[i],item.cityList[i].sleep);
}
cmbSelect(cmbCity, defaultCity);
} for(var i=0; i<provinceList.length; i++)
{
cmbAddOption(cmbProvince, provinceList[i].name, provinceList[i],provinceList[i].sleep);
}
cmbSelect(cmbProvince, defaultProvince);
changeProvince();
cmbProvince.onchange = changeProvince;
} /*用到的所有sleep为自定义属性,sleep可以自定义为指定数据,便于前后端数据交互*/
var provinceList = [
{name:'全部',sleep:'0',//省级
cityList:[//市级
{name:'全部',sleep:'0',
areaList:[//区县级
{name:'全部',sleep:'0'}
]
}
]
},
{name:'陕西省',sleep:'1',
cityList:[
{name:'全部',sleep:'0',
areaList:[
{name:'全部',sleep:'0'}
]
},
{name:'西安市',sleep:'1',
areaList:[
{name:'全部',sleep:'0'},
{name:'鄠邑区',sleep:'1'},
{name:'高新区',sleep:'2'}
]
},
{name:'渭南市',sleep:'2',
areaList:[
{name:'全部',sleep:'0'},
{name:'大荔县',sleep:'1'},
{name:'蒲城县',sleep:'2'}
]
}
]
},
{name:'浙江省',sleep:'2',
cityList:[
{name:'全部',sleep:'0',
areaList:[
{name:'全部',sleep:'0'},
{name:'杭州市',sleep:'1'},
{name:'宁波市',sleep:'2'}
]
},
{name:'杭州市',sleep:'1',
areaList:[
{name:'全部',sleep:'0'},
{name:'萧山区',sleep:'1'},
{name:'富阳区',sleep:'2'}
]
},
{name:'宁波市',sleep:'2',
areaList:[
{name:'全部',sleep:'0'},
{name:'江东区',sleep:'1'},
{name:'镇海区',sleep:'2'}
]
}
]
}
];
2. 在需要联动的页面调用addressInit()联动函数
addressInit('省id','市id','区县id');// 下拉框选择联动
js实现区县联动的更多相关文章
- 原生JS实现三级联动
代码实现 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF- ...
- 循序渐进VUE+Element 前端应用开发(21)--- 省市区县联动处理的组件使用
在很多应用中,往往都涉及到记录用户所在省份.城市.区县或者街道等信息,一般我们可以通过联动的Select或者类似的界面组件进行展示,或者使用Element中的el-cascader界面组件进行展示,而 ...
- Pyqt QComboBox 省市区县联动效果
在Qt中, QComboBox方法窗口组件允许用户从列表清单中选择,在web中就是select标签,下拉选项. 省市区县的联动就是currentIndexChanged 获取当前的Index,通过这个 ...
- QQ JS省市区三级联动
如下图: 首先写一个静态的页面: <!DOCTYPE html> <html> <head> <title>QQ JS省市区三级联动</title ...
- 从QQ网站中提取的纯JS省市区三级联动
在 http://ip.qq.com/ 的网站中有QQ自己的JS省市区三级联动 QQ是使用引用外部JS来实现三级联动的.JS如下:http://ip.qq.com/js/geo.js <!DOC ...
- Js 实现五级联动
js实现多级联动的方法很多,这里给出⼀种5级联动的例子,其实可以扩展成N级联动,在做项目的时候碰到了这样⼀个问题但是有不能从数据库中动态的加载这些选项,所以只有想办法从单个的页面着手来处理了,应为项目 ...
- JS年月日三级联动下拉框日期选择代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- MVC图片上传详解 IIS (安装SSL证书后) 实现 HTTP 自动跳转到 HTTPS C#中Enum用法小结 表达式目录树 “村长”教你测试用例 引用provinces.js的三级联动
MVC图片上传详解 MVC图片上传--控制器方法 新建一个控制器命名为File,定义一个Img方法 [HttpPost]public ActionResult Img(HttpPostedFile ...
- JS 省市区三级联动
JS 省市区三级联动: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...
随机推荐
- Python爬虫实战:将网页转换为pdf电子书
写爬虫似乎没有比用 Python 更合适了,Python 社区提供的爬虫工具多得让你眼花缭乱,各种拿来就可以直接用的 library 分分钟就可以写出一个爬虫出来,今天就琢磨着写一个爬虫,将廖雪峰的 ...
- SpringBoot-mvn插件
在maven projects中有一组springboot的插件 六个选择: 0.build-info:Generate a build-info.properties file based the ...
- IT集中监控
监控的从底层到上应该是: 一 数据采集层 二 数据处理层 三 数据展示层 监控需要和ITIL中定义的服务进行相当多的交互,例如监控会使用配置管理数据库CMDB来记录和读取数据,会将事件处理方式从知识库 ...
- SSM整合的简单实现
整合需要的jar包和源码将在文末给出 本文参考黑马程序员视频,由于视频用的环境和我使用的环境不同,建议使用我的环境及jar包(比较新) 一 整合思路 第一步 整合dao层 mybatis和spring ...
- 调查UIRecorder 测试报告的CI(集成)实现方式
以下内容来自uirecorder官网: 如何接入Jenkins? 添加命令 source ./install.sh source ./run.sh 添加报告 JUnit: reports/index. ...
- sql developer中英文切换
今天使用oracle sql developer时做调优建议时找到的建议显示为?的乱码,本人sql developer为中文版,修改为英文版后问题解决. 查看帮助菜单中的属性选项卡,user.lang ...
- May 19th 2017 Week 20th Friday
Good luck is another name for tenacity of purpose. 好运不过是坚持不懈的结果. To some extent, I don't agree with ...
- 如何从ERP将Material的Batch信息下载到CRM并存储在settype COMM_PR_BATCH里
前提条件:必须先确保三个对象ATTRIBUTE, CLASS和OBJCL成功下载.可以到事物码R3AM1里查看,确保状态全部为Done. (1) 在事物码MM02里,切换到视图classificati ...
- 模拟栈的回溯,完全二叉树搜索,(ZOJ1004)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1004 解题报告: ①方法:完全二叉树的搜索方式,回溯法. ②代码 ...
- 【[USACO16OPEN]262144】
发现这个数列的范围特别大但是值域的范围特别小 于是可以大胆猜测这道题值域肯定需要开到状态里去 又发现\(262144=2^{18}\)这个暗示非常明显啊,暗示这道题跟二进制有关系 其实也没什么关系 设 ...