利用JavaScript实现二级联动

简介: 利用JavaScript实现二级联动要实现JavaScript二级联动效果,首先要确定需要哪些技术: 二维数组 for in循环 new Option(text,value,true,true) add(option,null) onchange() 表单事件HTML代码: <!-- <input type="text" id="text"> --> 请选择省份: <select name="" id="provinces"> <!-- <option value="江苏省">江苏省</option>

利用JavaScript实现二级联动




要实现JavaScript二级联动效果,首先要确定需要哪些技术:



   1.二维数组

   2.for in循环

   3.new Option(text,value,true,true)

   4.add(option,null)

   5.onchange() 表单事件


HTML代码:


 

<!-- <input type="text" id="text"> -->    请选择省份:
<selectname=""id="provinces"><!-- <option value="江苏省">江苏省</option> --><optionvalue="请选择省份">请选择省份</option></select>    请选择城市:
<selectname=""id="cities"><optionvalue="请选择城市">请选择城市</option></select>

 

javascript代码:

    // 1.二维数组
    // 2.for in循环
    // 3.new Option(text,value,true,true)
    // 4.add(option,null)
    // 5.onchange()  表单事件  
    // 江苏省:南京市,无锡市,徐州市,常州市,苏州市,南通市;
    // 浙江省:杭州市,宁波市,金华市,温州市,绍兴市,湖州市;
    // var arr = [
    //     [南京市, 无锡市, 徐州市, 常州市, 苏州市, 南通市],
    //     [杭州市, 宁波市, 金华市, 温州市, 绍兴市, 湖州市]
    // ]
    // 1.创建二维数组
    var province=new Array();
    province["江苏省"]=["南京市", "无锡市", "徐州市", "常州市", "苏州市", "南通市"];
    province["浙江省"]=["杭州市", "宁波市", "金华市", "温州市", "绍兴市", "湖州市"];
    console.log(province);
    // 获取  省市 下拉菜单
    var oProvince=document.getElementById("provinces");
    var oCity=document.getElementById("cities");
    // 2.利用for循环将省市内容 添加到下拉菜单
    for(var i in province){
        // console.log(i);//  江苏省   浙江省
        // console.log(province[i])
        // new Option(i,i);//创建下拉选项
        oProvince.add(new Option(i,i),null)
    }
    // 3.添加onchange事件
    oProvince.onchange=function(){
        // console.log(oProvince.value);
        // 清空 市级下拉列表
        oCity.length=0;
        var oSelect=oProvince.value;//获取选中的省份值
        for(var j in province[oSelect]){
            oCity.add(new Option(province[oSelect][j],province[oSelect][j]),null)
        }
    }
    // var arr=[1,2,3,4,5,6];
    // for(var i in arr){
    //     console.log(i);
    // }
     // onchange事件
    // document.getElementById("text").οnchange=function(){
    //     console.log(this.value);
    // }

视频讲解链接:
https://www.bilibili.com/video/BV1DA411q71W/


相关文章
|
JavaScript 前端开发 Java
javascript原生实现二级联动下拉菜单
JS原生实现二级联动菜单(市/区县) 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
369 0
javascript原生实现二级联动下拉菜单
|
JavaScript 算法 前端开发
【前端算法】JS实现数字千分位格式化
JS实现数字千分位格式化的几种思路,以及它们之间的性能比较
325 1
|
存储 前端开发 算法
一行代码解决LeetCode实现 strStr()使用JavaScript解题|前端学算法
一行代码解决LeetCode实现 strStr()使用JavaScript解题|前端学算法
155 0
一行代码解决LeetCode实现 strStr()使用JavaScript解题|前端学算法
|
存储 机器学习/深度学习 JavaScript
JS 你最少用几行代码实现深拷贝?
JS 你最少用几行代码实现深拷贝?
JS 你最少用几行代码实现深拷贝?
|
JavaScript 前端开发 算法
JavaScript实现一段时间之后关闭广告
简介:通过JavaScript实现在一段时间之后,广告消失。
118 0
JavaScript实现一段时间之后关闭广告
|
JavaScript 前端开发 算法
JS实现鼠标悬停变色
本文实现的是利用JS实现当鼠标悬停在表格上的时候,表格发生变色。 CSS渲染 JS逻辑 `
197 0
JS实现鼠标悬停变色
|
JavaScript 前端开发 数据安全/隐私保护
JS实现关闭图片窗口
通过事件的绑定来实现,关闭二维码的效果。
151 0
JS实现关闭图片窗口
|
JavaScript 前端开发
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
JavaScript函数柯里化的实现原理,进来教你完成一个自己的自动实现柯里化方法
185 0
|
移动开发 JavaScript weex
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
weex-自定义module,实现weex在iOS的本地化,js之间互相跳转,交互,传值(iOS接入weex的最佳方式)
243 0