js省市区下拉框联动——前端笔记

问题:

我们常常要用到下拉框联动的功能,比如最常用的是选择地址的 省 市 区 的联动。

思路:

先填充第一个下拉框,然后写一个第一个下拉框的change事件来加载第二个下拉框,再写第二个下拉框的change事件来加载第三个下拉框。

示例:

这里我用到了一个数组文件areaData_min.js,这个文件 已经有了所有省市区的数据,直接从这个文件中取值就行。文件大概内容如下:
在这里插入图片描述

1、引入带省市区数据的js,下载地址areaData_min.js
在这里插入图片描述

2、准备三个下拉框

		<div><select id="sheng"><!----></select><select id="shi"><!----></select><span id="hidequ"><!--用于隐藏--><select id="qu"></select><!----></span></div>

3、准备构建下拉框的方法

			function fillSelct(){//填充班级的下拉框for(var i=0;i<banJi.length;i++){var option = '<option value="'+ banJi[i].id + '">' + banJi[i].text+ '</option>';$('#bj').append(option);}}
			function fillSelct(){//填充省sheng.forEach(function(value, index) {var option = '<option value="'+ index + '">' + value+ '</option>';$('#sheng').append(option);})}function selectShi(sheng_id){//填充市$('#shi').empty();if(sheng_id==0){var option = '<option value="0">请选择</option>';$('#shi').append(option);}else{var shi = sub_array[sheng_id];shi.forEach(function(value, index) {var option = '<option value="'+ index + '">' + value+ '</option>';$('#shi').append(option);})if (sheng_id == 11 || sheng_id == 12 || sheng_id == 31 || sheng_id == 71 || sheng_id == 50 || sheng_id == 81 || sheng_id == 82) {if ($("#hidequ")) {$("#hidequ").hide();}}else{$("#hidequ").show();}}}function selectQu(shi_id){//填充区$('#qu').empty();if(shi_id==0){var option = '<option value="0">请选择</option>';$('#qu').append(option);}else{var qu = sub_arr[shi_id];qu.forEach(function(value, index) {var option = '<option value="'+ index + '">' + value+ '</option>';$('#qu').append(option);})}}

4、页面初始化方法,形成联动

var sheng =area_array;//取出省的数组数据$(function(){//页面初始化fillSelct();//填充省selectShi(0);//填充市selectQu(0);//填充区$('#sheng').change(function(){//选择省的事件var sheng_id = $(this).val();selectShi(sheng_id);})$('#shi').change(function(){//选择市的事件var shi_id = $(this).val();selectQu(shi_id);})});

5、效果展示
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

完整代码如下:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>省市区下拉框联动</title><script src="js/jquery.min.js"></script><!--引入地区数据--><script src="js/areaData_min.js"></script><script>var sheng =area_array;//取出省的数组数据$(function(){//页面初始化fillSelct();//填充省selectShi(0);//填充市selectQu(0);//填充区$('#sheng').change(function(){//选择省的事件var sheng_id = $(this).val();selectShi(sheng_id);})$('#shi').change(function(){//选择市的事件var shi_id = $(this).val();selectQu(shi_id);})});function fillSelct(){//填充省sheng.forEach(function(value, index) {var option = '<option value="'+ index + '">' + value+ '</option>';$('#sheng').append(option);})}function selectShi(sheng_id){//填充市$('#shi').empty();if(sheng_id==0){var option = '<option value="0">请选择</option>';$('#shi').append(option);}else{var shi = sub_array[sheng_id];shi.forEach(function(value, index) {var option = '<option value="'+ index + '">' + value+ '</option>';$('#shi').append(option);})if (sheng_id == 11 || sheng_id == 12 || sheng_id == 31 || sheng_id == 71 || sheng_id == 50 || sheng_id == 81 || sheng_id == 82) {if ($("#hidequ")) {$("#hidequ").hide();}}else{$("#hidequ").show();}}}function selectQu(shi_id){//填充区$('#qu').empty();if(shi_id==0){var option = '<option value="0">请选择</option>';$('#qu').append(option);}else{var qu = sub_arr[shi_id];qu.forEach(function(value, index) {var option = '<option value="'+ index + '">' + value+ '</option>';$('#qu').append(option);})}}</script></head><body><div><select id="sheng"><!----></select><select id="shi"><!----></select><span id="hidequ"><!--用于隐藏--><select id="qu"></select><!----></span></div></body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter远程服务模式运行时引用csv文件的路径配置

问题 在使用jmeter过程中&#xff0c;本机的内存等配置不足&#xff0c;启动较多的线程时&#xff0c;可以采用分布式运行。 在分布式运行的时候&#xff0c;jmeter会自动将脚本从master主机发送到remote主机上&#xff0c;所以不需要考虑将脚本拷贝到remote主机。但是jmeter…

Mr. Cappuccino的第55杯咖啡——Mybatis一级缓存二级缓存

Mybatis一级缓存&二级缓存 概述一级缓存特点演示前准备效果演示在同一个SqlSession中在不同的SqlSession中 源代码怎么禁止使用一级缓存一级缓存在什么情况下会被清除 二级缓存特点演示前准备效果演示在不同的SqlSession中 源代码怎么关闭二级缓存 一级缓存&#xff08;Spr…

抖音seo矩阵系统源码搭建开发详解

抖音SEO矩阵系统是一个用于提高抖音视频在搜索引擎排名的工具。如果你想开发自己的抖音SEO矩阵系统&#xff0c;以下是详细的步骤&#xff1a; 开发步骤详解&#xff1a; 确定你需要的功能和算法 抖音SEO矩阵系统包含很多功能&#xff0c;比如关键词研究、内容优化、链接建设、…

TypeScript【enum 枚举】

导语 在 TypeScript 中&#xff0c;新增了很多具有特性的一些数据类型处理方法&#xff0c;enum 【枚举】就是其中&#xff0c;很具有代表性的一种&#xff0c;所以本章节就来聊聊 在 TypeScript 中如何去运用 enum 【枚举】。 枚举的概念&#xff1a; 枚举&#xff08;Enum&am…

MySql UNION 一行转多列

背景:DataEase饼图有特定格式&#xff0c;并且报表要求全部使用SQL语句获取数据 原先数据格式如下&#xff0c;需要行转换列 转换后结果&#xff1a; 原理 字段1&#xff0c;target作为一个不存在的字段&#xff0c;用于命名。 字段2&#xff0c;count字段是关键&#xff0c;…

基于Java的中国文化传承网站系统的设计与实现(编号S65)

基于Java的中国文化传承网站系统的设计与实现&#xff08;编号S65&#xff09; 大家好&#xff0c;小辰今天给大家介绍一个基于Spring Springboot MyBatis实现的中国文化传承网站系统&#xff0c;演示视频文章末尾公众号对号查询观看即可 文章目录 基于Java的中国文化传承网站…

Dockerfile构建Tomcat镜像(源码)

Dockerfile构建Tomcat镜像 目录 Dockerfile构建Tomcat镜像 1、建立工作目录 2、编写Dockerfile文件 3、构建镜像 4、测试容器 5、浏览器访问测试&#xff1a; 1、建立工作目录 [roothuyang1 ~]# mkdir tomcat[roothuyang1 ~]# cd tomcat/[roothuyang1 tomcat]# lsapach…

架构训练营学习笔记:5-1 计算架构模式之多级缓存架构

序 本节主要是计算架构。 多级缓存架构 缓存与缓冲&#xff1a;通常场景是读缓存&#xff0c;写缓冲。 缓存技术的本质&#xff1a;空间换时间&#xff0c;因此缓存架构属于高性能计算 架构。 缓存设计框架 主要考虑存什么&#xff1f;存多久&#xff1f;存哪里&#xff1f;如…

初识网络(JavaEE初阶系列9)

目录 前言&#xff1a; 1.网络的发展史 1.1独立模式 1.2网络互联 1.3局域网LAN 1.4广域网WAN 2.网络通信基础 2.1IP地址 2.2端口号 3.认识协议 3.1协议分层 3.2分层的作用 3.3TCP/IP五层&#xff08;或四层&#xff09;模型 3.4OSI七层模型 3.5网络设备所在分层 …

【Elasticsearch】Elasticsearch快速入门,掌握这些刚刚好!(官网入门案例)

文章目录 1. 简介2. 相关概念3. 安装4. 集群状态查看5. 索引操作6. 文档操作7. 数据搜索数据准备搜索入门(match_all)条件搜索(match)组合搜索(bool)过滤搜索(filter)搜索聚合(aggs) 8. 参考资料 本文的主要功能是带领从0到1入门Elasticsearch的基础使用&#xff0c;重点是Elas…

springboot+vue农产品特产商城销售平台_50kf2 多商家

随着我国经济的高速发展与人们生活水平的日益提高&#xff0c;人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下&#xff0c;人们更趋向于足不出户解决生活上的问题&#xff0c;南阳特产销售平台展现了其蓬勃生命力和广阔的前景。与此同时&#xff0c;为解决…

Meta开源AI音频和音乐生成模型

在过去的几年里&#xff0c;我们看到了AI在图像、视频和文本生成方面的巨大进步。然而&#xff0c;音频生成领域的进展却相对滞后。MetaAI这次再为开源贡献重磅产品&#xff1a;AudioCraft&#xff0c;一个支持多个音频生成模型的音频生成开发框架。 AudioCraft开源地址 开源地…

【JavaEE】简单了解JVM

目录 一、JVM中的内存区域划分 二、JVM的类加载机制 1、类加载的触发时机 2、双亲委派模型 1.1、向上委派 1.2、向下委派 三、JVM中的垃圾回收机制&#xff08;GC&#xff09; 1、确认垃圾 1.1、引用计数&#xff08;Java实际上没有使用这个方案&#xff0c;但是Pytho…

SpringBoot核心内容梳理

1.SpringBoot是什么? Spring Boot是一个基于Spring框架的快速开发应用程序的工具。它简化了Spring应用程序的创建和开发过程&#xff0c;使开发人员能够更快速地创建独立的、生产就绪的Spring应用程序。它采用了“约定优于配置”的原则&#xff0c;尽可能地减少开发人员需要进…

vue使用拖拽功能实现仓库存放货物的需求

效果&#xff1a; 代码 <template><div><div class"bigTitle">xxxxxxxxxxxxxx仓库拖拽系统</div><div class"container2 flex-j-space-between"><div class"product-list"><div class"leftTree h…

利用线程池多线程并发实现TCP两端通信交互,并将服务端设为守护进程

文章目录 实现目标实现步骤封装日志类封装线程池封装线程封装锁封装线程池 TCP通信的接口和注意事项accept TCP封装任务客户端Client.hppClient.cc 服务端Server.hpp Server.cc实现效果 守护进程服务端守护进程化 实现目标 利用线程池多线程并发实现基于TCP通信的多个客户端与…

Java Collection接口详解

Collection 接口 Collection接口是Java集合框架的根接口。 Collection 接口是 List、Set 和 Queue 接口的父接口&#xff0c;通常情况下不被直接使用。 Collection 接口定义了一些通用的方法&#xff0c;通过这些方法可以实现对集合的基本操作。定义的方法既可用于操作 Set …

docker创建镜像并上传云端服务器

docker创建镜像并上传云端服务器 docker容器与镜像的关系1.基本镜像相关文件创建1.1 创建dockerfile文件1.2.创建do.sh文件1.3 创建upload_server_api.py文件1.4 创建upload_server_webui.py文件1.5 文件保存位置 2. 创建镜像操作2.1 创建镜像2.3 创建容器2.2 进入环境容器2.3 …

【2023年电赛国一必备】A题报告模板--可直接使用

任务 图1 任务内容 要求 图2 基本要求内容 图3 发挥部分内容 说明 图4 说明内容 评分标准 图5 评分内容 正文 &#xff08;部分&#xff09; 摘要 本实验旨在设计和制作一个由两个单相逆变器组成的并联系统&#xff0c;用于为电阻负载供电或并入220V电网。采用基于STM…

【react】react生命周期钩子函数:

文章目录 一、生命周期概念:二、生命周期:三、挂载阶段&#xff08;constructor > render > componentDidMount&#xff09;&#xff1a;四、更新阶段&#xff08;render > componentDidUpdate&#xff09;&#xff1a;五、卸载阶段&#xff08;componentWillUnmount …