<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>三级联动</title>
<script src="../js/jquery-3.3.1.min.js"></script>
<script>
$(function () { //入口函数
//获得城市对象的下拉框
var $city = $("#city"); var $xian = $("#xian"); var provinces = ["河南省","安徽省"]; var cities = [
["河南市1", "河南市2"],
["安徽市1", "安徽市2"]
];
var xians = [ //三维数组
[["河南县1", "河南县11", "河南县111"], ["河南县2", "河南县22", "河南县222"], ["无", "无"]],
[["安徽县1", "安徽县11", "安徽县111"], ["安徽县2", "安徽县22", "安徽县222"]] ]; //遍历显示出省份
$.each(provinces, function (i, n) { $("#province").append("<option name='city'>" + n + "</option>"); }); //如果省改变 $("#province").change(function () { $city.get(0).length = 1;
$xian.get(0).length = 1;
//清空城市列表按钮 , 只保留第一个 <option value="0" name="city">请选择</option>
//清空县列表按钮 , 只保留第一个 <option value="0" name="city">请选择</option> var a = $("#province option:selected").index() - 1;
$.each(cities, function (i, n) { //n是城市的cites数组的一个
if (a == i) { //如果省的value值等于citys数组的索引, 就遍历这个城市数组中的这个
$(n).each(function (j, m) {
//创建对象,并且添加到城市下拉框中
$city.append("<option name='city'>" + m + "</option>"); });
}
}); }); //如果市改变
$("#city").change(function () { var c = $("#city option:selected").index() - 1; //获得市的索引
var p = $("#province option:selected").index() - 1; //获得省的索引
$xian.get(0).length = 1;
//清空城市按钮 , 只保留第一个 <option value="0" name="city">请选择</option> $.each(xians, function (i, n) { //先通过省的索引遍历县的三维数组获的二维数组 if (p == i) { //如果省的索引等于县的二维数组索引,
//n就是那个三维数组中的二维数组
$(n).each(function (j, m) { //在遍历这个二维数组
if (c == j) { //下面遍历一维数组
$(m).each(function (x, p) { //创建对象,并且添加到城市下拉框中
$xian.append("<option name='city'>" + p + "</option>"); });
} });
}
});
});
}); </script> </head>
<body> 省份:<select id="province">
<option value="0" name="city">请选择</option>
</select>
城市:<select id="city">
<option value="0" name="city">请选择</option>
</select>
县:<select id="xian">
<option value="0" name="city">请选择</option>
</select>
</body>
</html> //自己导入一个JS库复制代码就能直接运行

分析 :

//省和市都有对应的索引, 遍历三维数组时根据  [ 省索引 ] [ 市索引 ]找到对应三维数据里面对应的数据

//所以你自己自定义数据的时候 , 省市县的索引也要一一对应!

												

JQuerys实现三级省市联动的更多相关文章

  1. VUE2+elementUI前端实现 三级省市联动select

    html: <el-form-item label="选择地区:"> <el-select size="small" style=" ...

  2. 省市联动_简单的Demo,适用于各种二级菜单联动

    最近搞了一个功能,是查询页面需要用到二级菜单联动,获取到选中的属性value传入到后台. 平常都是用AJAX或者JQuery ,通过XML或者JSON的方式,这样的话需要调用数据库,像典型得到省市联动 ...

  3. js实现的省市联动

    最近工作,要用到省市联动的功能.网上搜了一下,发现有很多这样的例子,看了不少实例,把觉得写得不错的代码穿上来,好给大家分享一下. <!DOCTYPE html PUBLIC "-//W ...

  4. jquery省市联动,根据公司需求而写

    //author:guan //2015-05-25 //省市联动 //实用说明,页面引用如下js //<script src="../js/jquery-1.6.3.min.js&q ...

  5. Json 基于jQuery+JSON的省市联动效果

    helloweba.com 作者:月光光 时间:2012-09-12 21:57 标签: jQuery  JSON  Ajax  省市联动     省市区联动下拉效果在WEB中应用非常广泛,尤其在一些 ...

  6. AJAX案例四:省市联动

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. Dynamic CRM 2013学习笔记(八)过滤查找控件 (类似省市联动)

    我们经常要实现类似省市联动一样的功能,常见的就是二个查找控件,一个选择了省后,另一个市的查找控件就自动过滤了,只显示当前省下的市,而不是所有的市.当然这是最简单的,实际工作中还有更复杂的功能要通过过滤 ...

  8. [JS]以下是JS省市联动菜单代码

    以下是JS省市联动菜单代码: 代码一: <html> <head> <title></title> <script language=" ...

  9. 通过Javascript数组设计一个省市联动菜单

    通过Javascript数组设计一个省市联动菜单 使用Option内置类来完成下拉选项的创建 2.使用定时器实现一个时钟程序 3.使用PHP+JSON完成语音验证码 网址:http://yuyin.b ...

随机推荐

  1. mysql导出数据的几种形式-待更新

    1.导出某个数据库的某张表,添加where条件 mysqldump -u [用户名] -p  -h [ip地址]  --default-character-set=utf8 [数据库名] [表名] - ...

  2. MySQL InnoDB 索引 (INDEX) 页结构

    MySQL InnoDB 索引 (INDEX) 页结构 InnoDB 为了不同的目的而设计了不同类型的页,我们把用于存放记录的页叫做索引页 索引页内容 索引页分为以下部分: File Header:表 ...

  3. Codeforces Round #598 (Div. 3) B. Minimize the Permutation 贪心

    B. Minimize the Permutation You are given a permutation of length n. Recall that the permutation is ...

  4. 基于SincNet的原始波形说话人识别

    speaker recognition from raw waveform with SincNet Mirco Ravanelli, Yoshua Bengio 作为一种可行的替代i-vector的 ...

  5. Python爬虫教程-实现百度翻译

    使用python爬虫实现百度翻译功能python爬虫实现百度翻译: python解释器[模拟浏览器],发送[post请求],传入待[翻译的内容]作为参数,获取[百度翻译的结果] 通过开发者工具,获取发 ...

  6. 定时锁屏程序,Python祝你原理猝死!

    高以翔事件 11月27日在<追我吧>第九期节目的录制过程中,当期参与嘉宾高以翔奔跑时突然减速倒地,节目现场医护人员第一时间展开救治,并紧急将其送往医院.经过两个多小时的全力抢救,医院最终宣 ...

  7. Qt Designer布局预览正常,代码调用时所有控件堆在一起

    一.实验环境 1.Windows10x64 2.anaconda4.6.9 + python3.7.1(anaconda集成,不需单独安装) 3.pyinstaller3.5 二.问题描述 1.Qt ...

  8. 利用OD破解一个简单的C语言程序

    最近在学习汇编(看的是王爽老师的<汇编语言(第三版)>),然后想尝试使用OD(Ollydbg)软件破解一个简单的C语言程序练练手. 环境: C语言编译环境:VC++6.0 系统:在Wind ...

  9. Seven Kinds of Testers - 七种类型的测试

    最近读了James大叔的一篇总结Tester类型的文章,获益良多.原文叫做Seven Kinds of Testers(链接:http://www.satisfice.com/blog/archive ...

  10. oracle查找某个字符在字符串中的个数的技巧

    Oracle没有提供查找某个字符在字符串中出现次数的函数,当遇到这样的需求的时候,我们只能使用另外的方法去实现. 简单的思路就是,假设有个字符串str,然后里面有n个[a]字符,当把这n个[a]字符去 ...