二级联动,三级联动,初学者,纯javascript,不含jQuery
二级联动:
html代码:
<body>
<select id="province" onchange="getCity(this.options.selectedIndex)">
<option>请选择</option>
<option>广东</option>
<option>广西</option>
</select>省
<select id="city">
<option>请选择</option>
</select>市
</body>
js代码:
var citys=[
["广州","佛山","深圳"],
["柳州","桂林"]
];
function getCity(index){
var city=document.getElementById('city');
var showCity=citys[index-1];
city.length=1;
for(var i=0;i<showCity.length;i++){
city.options[i+1]=new Option(showCity[i]);
}
}
三级联动:
html代码:
<body>
<select id="province" onchange="getCity()">
<option>请选择</option>
<option>广东</option>
<option>广西</option>
</select>省
<select id="city" onchange="getArea()">
<option>请选择</option>
</select>市
<select id="area">
<option>请选择</option>
</select>区
</body>
js代码:
var city = [
["广州", "朝阳", "潮州", "汕头"],
["柳州", "桂林"]
];
var areaa = [
[
["花都", "越秀", "荔湾", "天河", "海珠", "增城", "从化"],
["双塔", "龙城"],
["湘桥", "潮安"],
["龙湖", "濠江", "朝南", "澄海"]
],
[
["柳江", "柳南", "柳北"],
["叠彩", "秀峰", "七星", "雁山", "临桂"]
]
]; function getCity() {
var prov = document.getElementById("province");
var ci = document.getElementById("city");
var ar = document.getElementById('area');
var provinceCity = city[prov.selectedIndex - 1];
ci.length = 1; //为了处理数组切换时数据错乱
if(prov.selectedIndex != 0) {
for(var i = 0; i < provinceCity.length; i++) {
ci[i + 1] = new Option(provinceCity[i]);
//以下写法也可以
//ci.options[i+1]=new Option(provinceCity[i]);
}
}
ar.length = 1;
} function getArea() {
var prov = document.getElementById("province");
var ar = document.getElementById('area');
var ci = document.getElementById("city");
var provinceCityArea = areaa[prov.selectedIndex - 1][ci.selectedIndex - 1];
ar.length = 1; //为了处理数组切换时数据错乱
if(ci.selectedIndex != 0) {
for(var i = 0; i < provinceCityArea.length; i++) {
ar[i + 1] = new Option(provinceCityArea[i]);
}
} }
二级联动,三级联动,初学者,纯javascript,不含jQuery的更多相关文章
- 移动端纯原生JS不依赖ajax后台服务器实现省市县三级联动
最近好多天没有更新文章,是因为公司的项目忙的不行.今天有点时间,就突然想起在移动端项目中遇到三级联动的问题,网上查了很多资料,都是依赖各种插件,或者晦涩难于理解.于是,自己决定写一个出来. 当然,没有 ...
- 时间操作(JavaScript版)—年月日三级联动(默认显示系统时间)
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/wangshuxuncom/article/details/35263317 这个功能 ...
- 【转】纯JS省市区三级联动(行政区划代码更新至2015-9-30)
本文代码实现的功能是省市区三级联动下拉列表,纯Javascript,网上已有很多这方面的代码.但是作为一个新手,这是我的第一篇CSDN博客,发此文的目的主要是学习交流,希望看到的朋友发现有什么不对的地 ...
- JavaScript 三级联动
附件连接下载地址:http://files.cnblogs.com/files/CaktyRiven/js.zip <!DOCTYPE html> <html lang=" ...
- 转: javascript实现全国城市三级联动菜单代码
<html> <head> <title>js全国城市三级联动菜单代码_B5教程网</title> <meta http-equiv=" ...
- 从QQ网站中提取的纯JS省市区三级联动
在 http://ip.qq.com/ 的网站中有QQ自己的JS省市区三级联动 QQ是使用引用外部JS来实现三级联动的.JS如下:http://ip.qq.com/js/geo.js <!DOC ...
- 纯javascript联动的例子
有人想要学习下纯javascript联动的一些技巧,我这里就以日期的联动为例,附上一些代码至于复杂的省市区联动,不建议用纯javascript的,而是用ajax的方式,该不在此讨论范围内,想要了解aj ...
- 原生JavaScript的省市县三级联动
三级联动是我们写表单时必不可少的,比如在写收货地址时,就用到他了,最近在看原生JavaScript,从基础写起,待完善,以后再写个jquery版的. <!DOCTYPE html> < ...
- 在使用ajax实现三级联动调用数据库数据并通过调出的数据进行二级表单查询
在使用ajax实现三级联动查询数据库数据后再使用ajax无刷新方式使用三级联动调出的数据进行二级查询 但是现在遇到问题,在二级查询的时候期望是将数据以表格的形式展示在三级联动的下方,但是现在在查询后会 ...
随机推荐
- DX11 Without DirectX SDK--04 使用DirectX Tool Kit帮助开发
回到 DirectX11--使用Windows SDK来进行开发 DirectX Tool Kit下载 DirectX Tool Kit是一个包含许多类的集合,用于为公共Windows平台编写Dire ...
- js算法初窥01(排序算法01-冒泡、选择、插入)
排序,我想大家一定经历过或者正在经历着.或许你不懂算法,对排序算法一无所知,但是你一定用过一些第三方库的api来一键排序,那么,在你享受便捷的同时,你是否想过它的底层是如何实现的?这样的算法实现方式是 ...
- 统一流控服务开源-1:场景&业界做法&算法篇
最近团队在搞流量安全控制,为了应对不断增大的流量安全风险.Waf防护能做一下接入端的拦截,但是实际流量会打到整个分布式系统的每一环:Nginx.API网关.RPC服务.MQ消息应用中心.数据库.瞬间的 ...
- CentOS安装JAVA
http://hermosa-young.iteye.com/blog/1798026 每次都要搜索一下太麻烦了,留个底,方便以后查询 一般情况下,我们都要将linux自带的OPENJDK卸载掉,然后 ...
- ASP.NET Core Identity Hands On(1)——Identity 初次体验
ASP.NET Core Identity是用于构建ASP.NET Core Web应用程序的成员资格系统,包括成员资格.登录和用户数据存储 这是来自于 ASP.NET Core Identity 仓 ...
- (一)JUnit简介
单元测试是测试应用程序的功能是否能够按需要正常进行,是一个对单一实体(类或方法)的测试. JUnit是一个Java编程语言的单元测试框架. 单元测试框架是一部分代码,可以确保另一端代码(方法)按预期工 ...
- Python sys和shutil模块
# !/user/bin/python # -*- coding: utf-8 -*- import sys # version 获取版本信息 sys.version # maxint 支持的最大in ...
- BZOJ_3110_[Zjoi2013]K大数查询_整体二分+树状数组
BZOJ_3110_[Zjoi2013]K大数查询_整体二分+树状数组 Description 有N个位置,M个操作.操作有两种,每次操作如果是1 a b c的形式表示在第a个位置到第b个位置,每个位 ...
- BZOJ_1834_[ZJOI2010]network 网络扩容_费用流
BZOJ_1834_[ZJOI2010]network 网络扩容_费用流 题意: 给定一张有向图,每条边都有一个容量C和一个扩容费用W.这里扩容费用是指将容量扩大1所需的费用. 求: 1.在不扩容的 ...
- iOS 8 中如何集成 Touch ID 功能
2013年9月,苹果为当时发布的最新iPhone产品配备了一系列硬件升级方案.在iPhone 5s当中,最具创新特性的机制无疑要数围绕Home按钮设计的超薄金属圈,也就是被称为Touch ID的指纹传 ...