如何使用JQuery实现Js二级联动和三级联动

前言:使用JQuery封装好的js方法来实现二级三级联动要比直接使用js来实现二级三级联动要简洁很多。所以说JQuery是个非常强大的、简单易用的、兼容性好的JavaScript库,已经成为前端开发人员不可缺少的一部分,是Web开发中最流行的JavaScript库之一。

注意:使用JQuery库,必须从官方网站下载最新版本的JQuery库文件,然后导入你项目的根目录

 我这里是直接下载的是Layui官方网站最新版本的layui库文件,Layui里面也有JQuery库,Layui是基于JQuery开发的...

文章目录:

  1. 二级联动实现
  2. 三级联动实现

一、JQuery二级联动的实现

还是那句话,还是老套路,先创建 HTML 两个 <select></select> 下拉列表


    <select id="province" onchange="getCity()"></select>
    <select id="city">
        <option>请选择</option>
    </select>

好了,HTML 的那个两个下拉列表已经创建出来了,接下来就是 JavaScript代码实现相应的功能了

直接上代码:

 layui.use(['jquery', 'table', 'layer', 'form','upload'], function () {

        // 获取 LayUI 各模块的实例对象
        let $ = layui.jquery;
        let table = layui.table;
        let layer = layui.layer;
        let form = layui.form;
        let upload = layui.upload;

        //创建对象字面量
         var data = {
            "广东省":["广州","梅州"],
            "湖南省":["娄底","长沙"]
         } ;  

      //初始化省份
        var province = $("#province");
        $.each(data, function(key, value) {
            province.append($("<option></option>").attr("value", key).text(key));
        });

        //获取城市
        province.change(function() {
            var provinceName = $(this).val();
            var city = $("#city");
            city.empty();
            if (data[provinceName]) {
                $.each(data[provinceName], function(index, value) {
                    city.append($("<option></option>").text(value));
                });
            }
        });


    }) ;

append:是指定元素末尾添加内容的方法,可以接受任意数量的参数,每个参数都会被添加到目标元素的末尾,比如:$("ul").append("<li>小宝贝</li>")

alltr:获取或设置 HTLM 属性值的方法,可以传递一个参数用于获取属性值,也可以传递两个参数,用于设置属性值,比如我现在要设置一个图片img src属性值:$("img").attr("src", "newSrc.jpg")

上面就是一个使用JQuery实现的二级联动了,这里不过多唠嗑,一些概念就不写了,下面我们开始三级联动代码实现。

二、JQuery三级联动的实现

还是那句话,还是老套路,先创建 HTML 三个 <select></select> 下拉列表

 <select id="province">
        
    </select>
 
    <select id="city">
        <option>请选择</option>
    </select>


    <select id="district">
        <option>请选择</option>
    </select>

好了,下面我们直接上JavaScript代码,不过三级联动不能像二级联动那么草率了,详细讲解

1)创建JavaScript对象字面量

什么是对象字面量?其实就是一种JavaScript对象方法,它是[object literal]的一种形式;是用来创建包含键值对的对象,可以快速地创建和初始化一个对象,不再需要定义一个构造函数!

 var data = {
    "广东省": {
        "珠海市": ["香洲区", "斗门区"],
        "广州": ["番禺", "黄埔"]
    },
    "仙侠世界": {
        "玄幻大陆": ["无敌区", "无人区"],
        "科技大陆": ["天才区", "学士区"]
    }
};

2)初始化省份列表

// 获取省份列表
var province = $("#province");
$.each(data, function(key, value) {
  var option = $("<option>").text(key);
  province.append(option);
});

append:是指定元素末尾添加内容的方法,可以接受任意数量的参数,每个参数都会被添加到目标元素的末尾,比如:$("ul").append("<li>小宝贝</li>")

3)根据省份获取城市列表

// 根据省份获取城市列表
function getCity() {
  var city = $("#city");
  var district = $("#district");
  //城市为0,当选择了省份的时候才有数据
  city.empty();
  var selectedProvince = province.val();
  $.each(data[selectedProvince], function(key, value) {
    var option = $("<option>").text(key);
    city.append(option);
  });
}

empty:清空之前的选项内容,方便更新选项内容

4)根据城市获取区县列表

function getDistrict() {
  var district = $("#district");

  //区县为0,当选择了城市的时候才有数据
  district.empty();

  //获取城市
  var selectedProvince = province.val();
  
  //获取区县
  var selectedCity = $("#city").val();
 

  //循环遍历
  $.each(data[selectedProvince][selectedCity], function(key, value) {
    var option = $("<option>").text(value);
    district.append(option);
  });
}

// 函数绑定到省份和城市下拉框的 onchange 事件上
//县列表以便在用户选择不同的省份或城市时自动更新城市和区
province.on("change", getCity);
$("#city").on("change", getDistrict);

on:是JQuery一个绑定方法,用于指定元素添加一个或多个事件处理程序。

总结:

好了,以上代码就是使用JQuery库来实现的上面的二级三级联动,希望多多支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/23550.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Mysql数据库对表的基本操作

一.表基本操作 1.当前数据库内创建表 2.查看表 3.删除表 4.修改表结构 5.复制表&#xff08;结构&#xff09; 二.表约束创建 1.约束的作用 2.约束的类型 3.演示 一.表基本操作 1.当前数据库内创建表 CREATE TABLE 表名( 列名 列数据类型&#xff0c; 列名 列…

小兔鲜--项目总结3

目录 结算模块-地址切换交互实现 地址切换交互需求分析 打开弹框交互实现 地址激活交互实现 订单模块-生成订单功能实现 支付模块-实现支付功能 支付业务流程 支付模块-支付结果展示 支付模块-封装倒计时函数 理解需求 实现思路分析 会员中心-个人中心信息渲染 分页…

solr快速上手:managed-schema标签详解(三)

0. 引言 core核心是solr中的重中之重&#xff0c;类似数据库中的表&#xff0c;在搜索引擎中也叫做索引&#xff0c;在solr中索引的建立&#xff0c;要先创建基础的数据结构&#xff0c;即schema的相关配置&#xff0c;今天继续来学习solr的核心知识&#xff1a; solr快速上手…

OpenCV——最小外接矩形

目录 一、主要函数二、代码实现三、结果展示 一、主要函数 cv::RotatedRect cv::minAreaRect(const cv::Mat& points );emspminAreaRect 函数用于计算给定点集的最小外接矩形。该矩形的长和宽是可以任意旋转的&#xff0c;因此被称为旋转矩形。 points &#xff1a;是一个…

article-码垛机器人admas仿真

按照运动学仿真的类似步骤为机器人添加材料、运动副和关节驱动&#xff0c;给机器人手腕末端施加50N最大负载&#xff0c;仿真模型如图5-17。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AXYQVZPq-1684936426972)(data:image/svgxml;utf8, )] 图…

Python实现ACO蚁群优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

Qt自定义的ColorDialog--仿QColorDialog

Qt已经有了色板选择&#xff0c;但是它使用QDialog形成的&#xff0c;每次调用基本上都成了点一个按钮&#xff0c;谈一个模态框&#xff0c;选择好颜色之后再关掉模态框。 但是&#xff0c;如果想将颜色选择板放在窗口上&#xff0c;并不会有模态的功能就会比较麻烦&#xff…

docker安装mysql8.0.33

1 从docker仓库中拉去mysql 8.0 docker pull mysql:8.0如果使用 docker pull mysql 默认拉取的是最新版本的mysql 上面我拉去的是8.0的版本&#xff0c;最后拉取过来的是8.0.33 如果有想要指定的版本&#xff0c;可以直接写指定版本&#xff0c;如&#xff1a; docker pull my…

pytorch:nn.ModuleList和nn.Sequential、list的用法以及区别

文章目录 在构建网络的时候&#xff0c;pytorch有一些基础概念很重要&#xff0c;比如nn.Module&#xff0c;nn.ModuleList&#xff0c;nn.Sequential&#xff0c;这些类我们称为为容器&#xff08;containers&#xff09;&#xff0c;可参考containers。本文中我们主要学习nn.…

【Python】正则表达式应用

知识目录 一、写在前面✨二、姓名检查三、解析电影排行榜四、总结撒花&#x1f60a; 一、写在前面✨ 大家好&#xff01;我是初心&#xff0c;希望我们一路走来能坚守初心&#xff01; 今天跟大家分享的文章是 正则表达式的应用 &#xff0c;希望能帮助到大家&#xff01;本篇…

把字节大佬花3个月时间整理的软件测试面经偷偷给室友,差点被他开除了···

写在前面 “这份软件测试面经看起来不错&#xff0c;等会一起发给他吧”&#xff0c;我看着面前的面试笔记自言自语道。 就在这时&#xff0c;背后传来了leder“阴森森”的声音&#xff1a;“不错吧&#xff0c;我可是足足花了三个月整理的” 始末 刚入职字节的我收到了大学室…

Windows 10 X64 内核对象句柄表解析

fweWindows 很多API函数都会创建和使用句柄(传入参数)&#xff0c;句柄代表一个内核对象的内存地址&#xff0c;每个进程都有一个句柄表&#xff0c;它保存着进程拥有的句柄&#xff0c;内核也有一个句柄表 PspCidTable&#xff0c;它保存着整个系统的句柄。 ExpLookupHandleTa…

DNS风险分析及安全防护研究(一):DNS自身风险分析(中科三方)

作为互联网上的一项基础服务&#xff0c;DNS在网站运行中起到了至关重要的作用&#xff0c;然而其安全性在很长一段时间内都没有得到足够的重视。DNS采用不可靠的UDP协议&#xff0c;安全性具有较大的漏洞&#xff0c;攻击者很容易利用这些漏洞发动攻击&#xff0c;从而引起一些…

华为设备这14个广域网命令,值得每位做广域网业务的网工收藏!

你好&#xff0c;这里是网络技术联盟站。 华为设备广域网命令是网络管理员在运维过程中常用的一类命令。该命令集涵盖了DCC配置命令、PPP配置命令、MP配置命令、PPPoE命令、ATM配置命令、帧中继配置命令、HDLC配置命令、LAPB配置命令、X.25配置命令、IP-Trunk配置命令、ISDN配…

Java 与数据结构(6):快速排序

ChatGPT 中文指南(大全) 内容包含&#xff1a;如何开通chatgpt、chatgpt的同类站点、prompts 、AI绘图、ChatGPT 工具、相关报告论文、ChatGPT应用项目等 链接&#xff1a;ChatGPT 中文指南(大全) 指令指南&#xff0c;精选资源清单&#xff0c;更好的使用 chatGPT 让你的生产力…

详解如何使用LAMP架构搭建论坛

文章目录 1.LAMP概述2.编译安装Apache httpd服务1.关闭防火墙&#xff0c;将安装Apache所需软件包传到/opt目录下2.安装环境依赖包 3.配置软件模块4.编译及安装5.优化配置文件路径&#xff0c;并把httpd服务的可执行程序文件放入路径环境变量的目录中便于系统识别6.添加httpd系…

复杂的C++继承

文章目录 什么是继承继承方式赋值规则继承中的作用域&#xff08;隐藏&#xff09;子类中的默认成员函数需要自己写默认成员函数的情况 继承与友元及静态成员多继承菱形继承菱形继承的问题菱形虚拟继承 继承和组合 面向对象三大特性&#xff1a;封装继承和多态。封装在类和对象…

(四)调整PID控制器参数的指南

一、控制系统设计快速入门和环境 首先确定一下控制任务。快速、精准地控制&#xff0c;必要的稳定性&#xff0c;时域&#xff08;上升时间、超调等&#xff09;&#xff0c;频域&#xff08;带宽、阻尼比&#xff09;然后明白控制系统特点。类积分器&#xff1f;开环稳定性、高…

注解实现自动装配

要使用注解须知&#xff1a; 1.导入约束 context约束 2.配置注解的支持 官方配置文件 <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/…

详解知识蒸馏原理和代码

目录 知识蒸馏原理概念技巧举例说明KL 散度及损失 KD训练代码导入包网络架构teacher网络student网络 teacher网络训练定义基本函数训练主函数 student网络训练&#xff08;重点&#xff09;理论部分定义kd的loss定义基本函数训练主函数 绘制结果teacher网络的暗知识softmax_t推…
最新文章