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 实现省市二级联动的更多相关文章

  1. 省市二级联动--使用app-jquery-cityselect.js插件

    只有省市二级联动,三级联动还没处理好,会尽快完善. 嵌入id: <div class="form-group"> <label>地址</label&g ...

  2. jQuery_完成省市二级联动

    当填表的时候会让你设计某省某市怎么设计,应该明白,如果你选择了一个确定的省,那么在第二个下拉框内则不会有除了你选择的省的市之外的名称.而这功能用js来实现很麻烦,但是用jq确很容易实现. 原表结构: ...

  3. 省市二级联动(原生JS)

    代码如下: <html> <head> <meta charset="UTF-8"> <title>省市二级联动</title ...

  4. 微信小程序picker组件 - 省市二级联动

    picker 从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器. picker官方文档链接 由于项目需 ...

  5. js省市二级联动实例

    //动态创建省市二级联动<!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  6. iOS开发之"省市"二级联动的数据组织(PHP版)以及PickerView的实现与封装

    之所以要发表这篇博客,还源于最近的开发工作所实现的一个小的Demo, 当然这个Demo不会涉及工作中App的一些内容,下方要实现的Demo是通用的.因为项目需求的迭代,要求在银行卡绑定中添加支行所在的 ...

  7. javascript 省市二级联动

    通过遍历二维数组 获取到 二级列表的 每个option 然后onchange事件 获取到省,然后循环遍历该省具有的市并将遍历到的市添加到id为city的选择器中. 获取完需要清空二级列表的内容,不然不 ...

  8. 【原创】省市二级联动纯javascript

    // 北京 上海 天津 重庆 河北 山西 内蒙古 辽宁 吉林 黑龙江 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 四川 贵州 云南 西藏 陕西 甘肃 宁夏 青海 新疆 香港 ...

  9. JavaScript学习——使用JS完成省市二级联动

    1.我们希望在注册页面中添加一个字段(籍贯),当用户选择一个具体的省份,在后面的下拉列表中动态加载该省份下所有的城市.显示的效果如下: 2.步骤分析: 第一步:确定事件(onchange)并为其绑定一 ...

随机推荐

  1. 【技术开放日】msup携手HPE揭秘全球测试中心背后的12条技术实践

    保证软件产品质量是软件测试永恒的目标. 以控制为出发点的传统IT时代正在快速的向以激活生产力为目的的移动互联时代转变.这不仅是技术的升级,更是思想意识的巨大变革,也对软件技术的发展带来的更高的要求和更 ...

  2. 1.9TF的过拟合-dropout

    不带dropout程序并通过tensorboard查看loss的图像 """ Please note, this code is only for python 3+. ...

  3. How Many Answers Are Wrong----hdu3038(并查集)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3038 题意:数组第 a 个元素到第 b 个元素之间的和为sum: 求有几句话是假的,如果与前面的话有冲 ...

  4. 解决eslint空格报错等问题

    eslint检查代码风格是好的,不过 有些换行报错   空格报错  还有在代码中有 console也是报错   这有些烦人 为了把这些烦人的报错给禁止掉 我们可以在package.json文件中 找到 ...

  5. Servlet----------Servlet 的映射路径细节

    在使用servlet时候,有些时候都需要自己来配置web.xml文件,在配置的时候,我们可以配置多个<url-pattern></url-pattern> 比如在这里绑定了3个 ...

  6. JavaScript中通过arguments对象实现对象的重载

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. Kubernetes 1.8火热出炉:稳定性、安全性与存储支持能力全面提升

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/78130225 周三,Kub ...

  8. android 代码edittext删除或者替换光标处的字串

    https://stackoverflow.com/questions/3609174/android-insert-text-into-edittext-at-current-position Cp ...

  9. 编译错误 ----- /usr/bin/ld: cannot find -lc

    yum install glibc-static glib-static是Gcc链接时使用到的库.

  10. (转)Elasticsearch查询规则------match和term

    es种有两种查询模式,一种是像传递URL参数一样去传递查询语句,被称为简单搜索或查询字符串(query string)搜索,比如 GET /megacorp/employee/_search //查询 ...