利用js的数组制作二级联动

简介: 利用js的数组制作二级联动前面的博客我们讲解js的数组及相关属性和方法,今天我们来说一下如何利用js的数组制作二级联动效果。当然,说到二级联动,跳不过的就是多维数组。1.多维数组 // 多维数组:数组作为数组的项 // 二维数组 两层数组 // 二维数组的创建 var arr=[1,2,3,4];//一维数组 // 1.字面量方式声明 var arr2=[[1,2,3],[1,2,3],[4,5,6]]; // 2. 采用构造函数 使用 new 关键字 var arr3=new Array([1,2,3],[4,5

利用js的数组制作二级联动




前面的博客我们讲解js的数组及相关属性和方法,今天我们来说一下如何利用js的数组制作二级联动效果。当然,说到二级联动,跳不过的就是多维数组。


1.多维数组

// 多维数组:数组作为数组的项// 二维数组   两层数组// 二维数组的创建vararr=[1,2,3,4];//一维数组// 1.字面量方式声明vararr2=[[1,2,3],[1,2,3],[4,5,6]];
// 2. 采用构造函数   使用 new 关键字vararr3=newArray([1,2,3],[4,5,6],[7,8,9]);
// 3.先声明 后赋值vararr4=newArray();
arr4[0]=["a","b","c"];
arr4[1]=["o","p","q"];
console.log(arr2);
console.log(arr3);
console.log(arr4);
// 三维数组vararr5=[[[1,2,3],[4,5,6]],["a","b"]];
console.log(arr5);
// 二维数组的访问console.log(arr2[0][0]);
arr2[0][0]="hello";
console.log(arr2);

2.二维数组的遍历


// 一维数组的遍历for(vari=0;i<arr.length;i++){
console.log(arr[i]);
    }
// var arr3=new Array([1,2,3],[4,5,6],[7,8,9]);// 如何遍历二维数组for(varm=0;m<arr3.length;m++){
// console.log(arr3[m]);for(varn=0;n<arr3[m].length;n++){
console.log(arr3[m][n])
        }
    }


3.二级联动


二级联动,简单来说就是要通过一个下拉列表的选项选中,从而在另一个select下拉列表中显示出对应的数据。比如我们出去旅游,在网订酒店,先选择省份,然后会显示出省份下所对应的城市。


html代码:


<formname="form1"action=""method="get"><selectid="a1"onchange="addOption()"></select><selectid="a2"></select></form>

JavaScript代码:


varcity=newArray;        
city['江苏'] = ['南京', '连云港', '苏州', '镇江'];        
city['山东'] = ['青岛', '烟台', '济南'];         
functionallCity() {            
varselect1=document.getElementById("a1");            
for(variincity) {  //这里注意遍历数组的写法select1.add(newOption(i, i), null);
      }   
addOption(); // 初始化选项         }        
functionaddOption() {            
varselect2=document.getElementById("a2");
varselect1=document.getElementById("a1").value; 
select2.length=0; //每次都先清空一下市级菜单  if(select1!='请选择省份') {                
for(variincity[select1 ]) {    
select2.add(newOption(city[select1][i], city[select1][i]), null);                
        }            
      }elseif (sheng=='请选择省份'){              
select2.length=0;           
select2.add(newOption("请选择城市", "请选择城市"), null); 
      }      
    }       
allCity();    



相关文章
|
30天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
29 3
|
25天前
|
前端开发 JavaScript
前端 js 经典:数组常用方法总结
前端 js 经典:数组常用方法总结
26 0
|
3天前
|
JavaScript 前端开发 索引
JavaScript基础-数组操作:增删改查
【6月更文挑战第11天】本文介绍了JavaScript数组的增删改查操作,包括查询(索引访问、indexOf、lastIndexOf、includes)、修改(直接赋值、splice)、添加(push、unshift、splice)和删除(pop、shift、splice)。同时,文章列举了三个易错点:数组越界、splice参数理解不清及修改原数组与返回值混淆,并提供了相应的避免策略。通过代码示例展示了各种操作的用法,强调理解方法特性和实践的重要性,以提升数组操作效率。
|
8天前
|
JavaScript 前端开发
JavaScript删除数组中指定元素3种方法例子
JavaScript删除数组中指定元素3种方法例子
|
9天前
|
存储 JavaScript 前端开发
【经典算法】LeetCode350:两个数组的交集 II(Java/C/Python3/JavaScript实现含注释说明,Easy)
【经典算法】LeetCode350:两个数组的交集 II(Java/C/Python3/JavaScript实现含注释说明,Easy)
7 1
|
10天前
|
JSON JavaScript 数据格式
1.js动态的往json数据添加新属性和值 2.JSON 和 JS 对象互转 3.对象转化为数组
1.js动态的往json数据添加新属性和值 2.JSON 和 JS 对象互转 3.对象转化为数组
15 0
|
15天前
|
JavaScript
JS判断变量是不是数组?方法大全!
JS判断变量是不是数组?方法大全!
|
16天前
|
JavaScript 前端开发
JavaScript 解决数组查重 问题(三种解决方法)
JavaScript 解决数组查重 问题(三种解决方法)
15 0
|
30天前
|
JavaScript
通过使用online表单的获取使用,了解vue.js数组的常用操作
通过使用online表单的获取使用,了解vue.js数组的常用操作
17 0
|
30天前
|
存储 JavaScript 前端开发
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
深入了解JavaScript中的indexOf()方法:实现数组元素的搜索和索引获取
15 0