JavaScript 实现省市二级联动
JavaScript 实现省市二级联动
版权声明:未经授权,严禁转载!
案例代码
<style>
.hide {
display: none;
}
</style> <select name="provs">
<option>请选择</option> <!-- 0 -->
<option>北京市</option> <!-- 1 -->
<option>天津市</option> <!-- 2 -->
<option>河北省</option>
</select>
<select name="cities" class="hide"> </select> <script>
/* 实现省市联机操作 */
var cities = [
[{"name": '东城区', "value": 101},//cities[0][0]["name"]
{"name": '西城区', "value": 102},
{"name": '海淀区', "value": 103},
{"name": '朝阳区', "value": 104}],
[{"name": '河东区', "value": 201},
{"name": '河西区', "value": 202},
{"name": '南开区', "value": 303}],
[{"name": '石家庄市', "value": 301},
{"name": '廊坊市', "value": 302},
{"name": '保定市', "value": 303},
{"name": '唐山市', "value": 304},
{"name": '秦皇岛市', "value": 304}]
]; // 触发事件的元素
var selProvs = document.getElementsByName("provs")[0];
var selCts = document.getElementsByName("cities")[0];
// 绑定事件处理函数,当选项发生变化时
selProvs.onchange = function () {
// 获取用户选择 option 所在的下标 selProvs.selectedIndex;
var i = selProvs.selectedIndex;
// console.log(i)
// 判断用户是否未选择的是任何省。
if (i == 0) selCts.className = "hide";
else {
selCts.className = ""; // 显示
selCts.innerHTML = ""; // 清空之前的
// 去数组 cities 中获取 i - 1 对应的子数组
var cts = cities[i - 1];
// 创建文档片段
var frag = document.createDocumentFragment();
// 添加第一个 option 请选择
var option = document.createElement("option");
option.innerHTML = "请选择";
frag.appendChild(option);
// 遍历数组
for (var i = 0; i < cts.length; i++) {
// 创建 option
var option = document.createElement("option");
// 给option添加内容和value
option.innerHTML = cts[i]["name"];
option.value = cts[i]["value"];
// 将 option添加到文档片段
frag.appendChild(option);
}
// 将 文档片段添加到 cities 中
selCts.appendChild(frag); } } </script>

JavaScript 实现省市二级联动的更多相关文章
- 省市二级联动--使用app-jquery-cityselect.js插件
只有省市二级联动,三级联动还没处理好,会尽快完善. 嵌入id: <div class="form-group"> <label>地址</label&g ...
- jQuery_完成省市二级联动
当填表的时候会让你设计某省某市怎么设计,应该明白,如果你选择了一个确定的省,那么在第二个下拉框内则不会有除了你选择的省的市之外的名称.而这功能用js来实现很麻烦,但是用jq确很容易实现. 原表结构: ...
- 省市二级联动(原生JS)
代码如下: <html> <head> <meta charset="UTF-8"> <title>省市二级联动</title ...
- 微信小程序picker组件 - 省市二级联动
picker 从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器. picker官方文档链接 由于项目需 ...
- js省市二级联动实例
//动态创建省市二级联动<!DOCTYPE html><html lang="en"><head> <meta charset=" ...
- iOS开发之"省市"二级联动的数据组织(PHP版)以及PickerView的实现与封装
之所以要发表这篇博客,还源于最近的开发工作所实现的一个小的Demo, 当然这个Demo不会涉及工作中App的一些内容,下方要实现的Demo是通用的.因为项目需求的迭代,要求在银行卡绑定中添加支行所在的 ...
- javascript 省市二级联动
通过遍历二维数组 获取到 二级列表的 每个option 然后onchange事件 获取到省,然后循环遍历该省具有的市并将遍历到的市添加到id为city的选择器中. 获取完需要清空二级列表的内容,不然不 ...
- 【原创】省市二级联动纯javascript
// 北京 上海 天津 重庆 河北 山西 内蒙古 辽宁 吉林 黑龙江 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 四川 贵州 云南 西藏 陕西 甘肃 宁夏 青海 新疆 香港 ...
- JavaScript学习——使用JS完成省市二级联动
1.我们希望在注册页面中添加一个字段(籍贯),当用户选择一个具体的省份,在后面的下拉列表中动态加载该省份下所有的城市.显示的效果如下: 2.步骤分析: 第一步:确定事件(onchange)并为其绑定一 ...
随机推荐
- hdu4998 Rotate【计算几何】
Noting is more interesting than rotation! Your little sister likes to rotate things. To put it easi ...
- iOS多线程编程之创建线程安全(转载)
一.多线程的安全隐患 资源共享 1块资源可能会被多个线程共享,也就是多个线程可能会访问同一块资源 比如多个线程访问同一个对象.同一个变量.同一个文件 当多个线程访问同一块资源时,很容易引发数据错乱和数 ...
- Linux上Oracle 11g安装步骤图解
Oracle 11g下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html 选 ...
- 2018/03/27 每日一个Linux命令 之 cron
Cron 用于配置定时任务. -- 环境为 Ubuntu16-04 -- 先说说怎么配置一个简单的定时任务.直观的可以看到效果. 之前在网上查找资料,对Shell编程不熟悉的实在是很头疼,走了不少弯路 ...
- getContextPath、getServletPath、getRequestURI、request.getRealPath的区别
1 区别 假定你的web application 名称为news,你在浏览器中输入请求路径: http://localhost:8080/news/main/list.jsp 1.1 System.o ...
- Spark Storage(一) 集群下的区块管理
Storage模块 在Spark中提及最多的是RDD,而RDD所交互的数据是通过Storage来实现和管理 Storage模块整体架构 1. 存储层 在Spark里,单节点的Storage的管理是通过 ...
- 常见的SQLALCHEMY列类型.配置选项和关系选项
类型名称 python类型 描述 Integer int 常规整形,通常为32位 SmallInteger int 短整形,通常为16位 BigInteger int或long 精度不受限整形 Flo ...
- JS 转整型
1.丢弃小数部分,保留整数部分 js:parseInt(7/2) 2.向上取整,有小数就整数部分加1 js: Math.ceil(7/2) 3,四舍五入. js: Math.round(7/2) 4, ...
- C语言头文件、库文件的查找路径
在 程序设计中,文件包含是很有用的.一个大的程序可以分为多个模块,由多个程序员分别编程.有些公用的符号常量或宏定义等可单独组成一个文件,在其它文件的开头用包含命令包含该文件即可使用.这样,可避免在每个 ...
- 把 ElasticSearch 当成是 NoSQL 数据库
Elasticsearch 可以被当成一个 “NoSQL”-数据库来使用么? NoSQL 意味着在不同的环境下存在不同的东西, 而erestingly 它并不是真的跟 SQL 有啥关系. 我们开始只会 ...