基于JavaScript实现省市联动效果


Posted in Javascript onJune 22, 2021

本文实例为大家分享了JavaScript实现省市联动效果的具体代码,供大家参考,具体内容如下

基于JavaScript实现省市联动效果

代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>省市级联动效果</title>
</head>
<body onload="initProvince()">
省份:<select id="province" onchange="fillCity()"></select>
城市:<select  id="city"></select>
<script>
    /**
     * 初始化省份函数
     */
    function initProvince() {
        //声明存储省份的数组
        let provinceArr=["陕西省","四川省","河南省","山东省"];
        //将省份数组动态写入到下拉列表中
        //通过id获得省份列表对象
        let proovinceObj=document.getElementById("province");
        //设置未选择时,展示的内容
        let option=new Option("---请选择省份---","");
        proovinceObj.options.add(option);
        //循环遍历省份数组
        for (let province of provinceArr){
            //创建Option对象
            //参数一:列表显示的内容
            //参数二:option的values属性值
            let option = new Option(province,province);
            //将option对象添加到provinceObj对象中
            proovinceObj.options.add(option);
        }
    }
    //创建城市数组
    //声明一个用于存储城市的数组
    let cityArr=new Array();
    cityArr['陕西省']=['西安市','咸阳市','宝鸡市','汉中市','延安市'];
    cityArr['四川省']=['成都市','达州市','广元市','绵阳市','乐山市'];
    cityArr['河南省']=['郑州市','开封市','洛阳市','新乡市','焦作市'];
    cityArr['山东省']=['济南市','青岛市','莱州市','烟台市','德州市'];

    /**
     * 根据省份填充城市
     */
    function fillCity() {
        //获得当前选中的省份
        let provinceObj = document.getElementById("province");
        let province=provinceObj.value;
        //获得城市列表对象
        let cityObj = document.getElementById("city");
        //清空城市列表中的原有数据
        cityObj.options.length=0;
        //判断是否选择了省份
        if (province!=""){
            let cityOption = new Option("---请选择城市---","");
            cityObj.options.add(cityOption);
        }
        //根据该省份获得对应的城市数组,遍历城市数组
        for (let city of cityArr[province]){
            //将每个城市填充到城市列表中
            let cityOption = new Option(city,city);
            cityObj.options.add(cityOption)
        }
    }
</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
高性能web开发 如何加载JS,JS应该放在什么位置?
May 14 Javascript
javascript与CSS复习(二)
Jun 29 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
Jul 17 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
Mar 05 Javascript
jquery ztree实现下拉树形框使用到了json数据
May 14 Javascript
js代码实现随机颜色的小方块
Jul 30 Javascript
jquery中的常见问题及快速解决方法小结
Jun 14 Javascript
浅谈js常用内置方法和对象
Sep 24 Javascript
JavaScript中浅讲ajax图文详解
Nov 11 Javascript
Vue的v-model的几种修饰符.lazy,.number和.trim的用法说明
Aug 05 Javascript
JavaScript实现简单计时器
React实现动效弹窗组件
关于React Native 无法链接模拟器的问题
React-vscode使用jsx语法的问题及解决方法
vue3使用vue-router的完整步骤记录
一篇文章学会Vue中间件管道
Jun 20 #Vue.js
Ajax 的初步实现(使用vscode+node.js+express框架)
You might like
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
jquery 简单图片导航插件jquery.imgNav.js
2010/03/17 Javascript
js实现网页标题栏闪烁提示效果实例分析
2014/11/20 Javascript
c#+jquery实现获取radio和checkbox的值
2020/09/12 Javascript
JS实现超简单的仿QQ折叠菜单效果
2015/09/21 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
教你如何在Node.js中使用jQuery
2016/08/28 Javascript
一个有意思的鼠标点击文字特效jquery代码
2017/09/23 jQuery
JS+canvas画一个圆锥实例代码
2017/12/13 Javascript
bmob js-sdk 在vue中的使用教程
2018/01/21 Javascript
vue+springboot前后端分离实现单点登录跨域问题解决方法
2018/01/30 Javascript
基于jQuery实现Ajax验证用户名是否可用实例
2018/03/25 jQuery
Vue高版本中一些新特性的使用详解
2018/09/25 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
json.stringify()与json.parse()的区别以及用处
2021/01/25 Javascript
[15:41]教你分分钟做大人——灰烬之灵
2015/03/11 DOTA
Python Paramiko模块的使用实际案例
2018/02/01 Python
python多线程实现TCP服务端
2019/09/03 Python
Python 代码调试技巧示例代码
2020/08/11 Python
python 如何将office文件转换为PDF
2020/09/22 Python
Python爬虫之Selenium警告框(弹窗)处理
2020/12/04 Python
手工制作的音乐盒:Music Box Attic
2019/09/05 全球购物
乌克兰机票、铁路和巴士票、酒店搜索、保险:Tickets.ua
2020/01/11 全球购物
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
Oracle的内存结构(Memory structures)
2015/06/10 面试题
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
计算机软件个人的自荐信范文
2013/12/01 职场文书
2013年军训通讯稿
2014/02/05 职场文书
运动员获奖感言
2014/08/15 职场文书
北京故宫的导游词
2015/01/31 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书