`
Sunflower-13
  • 浏览: 73280 次
  • 性别: Icon_minigender_2
  • 来自: 长沙
社区版块
存档分类
最新评论

js中三级联动的实现

阅读更多
js中三级联动的实现

      联动的实现其实很简单,但是有些细节却很容易出错。在此分享一下我在学习了二级联动后,去实现三级联动的基本思路。
      思路:因为二级联动是一级联与二级联通过onchange事件连接,所以三级联动便是二级联与三级联连接。(可能表述不够清楚)简单的来说其过程大致是:A事件——触发——B事件——触发——C事件。
      注意事项:特别要注意其中数组对应的下标与选项value值的匹配。option选项中各项选项的value值也可以是数字,value值用数字更方便实现。
例题:     
各学期对应课程                                 
学年: 第一学年、第二学年
学期: 第一学期、第二学期                         
课程:
第一学年—>第一学期—>HTML,Java,SqlServer基础,C#
第一学年—>第二学期—>javascript,.Net,SqlServer高级,JSP
第二学年—>第一学期—>Struts,ASP.NET,Ajax
第二学年—>第二学期—>Spring,Hibernate   
             '
           
        
代码:
<!doctype html>
<html lang="en">
 <head>
  <meta charset="UTF-8">  
  <title>三级联动</title>
 </head>
 <body >
	<h5><center>各学期对应课程</center></h5>
	<!--选项改变事件onchange调用change1(this)函数,实现 学年 与 学期 之间的联动-->
	<center>学年 <select id='year' onchange='change1(this)'>
		<option value='请选择'>请选择</option>
		<option value='第一学年'>第一学年</option>
		<option value='第二学年'>第二学年</option>
	</select>  
	<!--选项改变事件onchange调用change2(this)函数,实现 学期 与 课程 之间的联动-->
	学期 <select id='term' onchange='change2(this)'>
		<option value='请选择' >请选择</option>
		</select>  
	
	课程 <select id='course' >
		<option value='请选择'>请选择</option>
		</select></center>
	
 </body>
	<script>
		//获取学期对象
		var term = document.getElementById('term');
		//获取课程对象
		var course = document.getElementById('course');		
		//创建change1(obj1)函数,其中参数obj1是获取 学年 的option选项中的value值
		function change1(obj1){
			//获取obj1的值
			var o1 = obj1.value;
			//创建二维数组存放学年对应的学期
			var array1 = new Array();       
			array1['第一学年']=['第一学期','第二学期'];				        
			array1['第二学年']=['第一学期','第二学期'];
		   //保留学期下拉列表的第一项
			term.options.length=1;	
			//遍历数组
			for(var i=0; i<array1[o1].length;i++){
					//如果是第一学年,则将第一学期的value值设为0,第二学期的value值设为1;
					if(o1=='第一学年'){
						//new Option(”显示内容”,“值”)
						var opt1 = new Option(array1[o1][i],i);
					}
					//如果是第二学年,则将第一学期的value值设为2,第二学期的value值设为3;这样设置其value值的目的是好与课程对应的数组行下标一一对应。
					else{
						opt1 = new Option(array1[o1][i],i+2);
					}
					//动态添加选项opt1到term中,得到下拉列表项
					term.options.add(opt1);
			}
		}
		//创建change2(obj2)函数,其中参数obj2是获取 学期 的option选项中的value值
		function change2(obj2){
			//获取obj2的值
			var o2 = obj2.value;
			//创建二维数组array2存放学期对应的课程
			var array2 = new Array();
			array2[0]=['HTML','Java','SqlServer基础','C#'];
			array2[1]=['javascript','.Net','SqlServer高级','JSP'];
			array2[2]=['Struts','ASP.NET','Ajax'];
			array2[3]=['Spring','Hibernate'];	
			 //保留学期下拉列表的第一项
			course.options.length=1;
			//遍历数组,将选项opt2到course中,得到下拉列表项
			for(var i in array2[o2]){
				var opt2 = new Option(array2[o2][i],i);
					course.options.add(opt2);
			}	 
		}
	</script>
</html>
0
1
分享到:
评论
1 楼 Sun_TW 2016-11-21  
写的不错啊

相关推荐

    js实现三级联动展现

    在这个例子中,"js实现三级联动展现",我们看到JavaScript是实现这种动态效果的关键。JavaScript是一种客户端脚本语言,它允许我们在用户与网页交互时执行代码,更新页面内容。在这种情况下,JavaScript负责监听第一...

    javascript实现省市区三级联动

    在JavaScript编程中,实现省市区三级联动是一种常见的需求,尤其在构建动态网页和Web应用程序时。这个功能允许用户在选择省份后,市和区的选择会根据省份自动更新,提供更流畅的用户体验。以下是对这个主题的详细...

    js+jsp三级联动 源码

    在三级联动中,Ajax使得用户在选择一个级别后,无需等待页面重载,就能迅速看到下一级别的选项。 3. **JavaServer Pages(jsp)**:jsp是Java的一个动态网页技术,它允许开发者在HTML或XML文档中嵌入Java代码,以...

    Ajax JavaWeb JS 三级联动

    在三级联动中,JavaScript主要负责监听用户的选择事件,当用户在一级、二级菜单中选择项目时,触发Ajax请求,向服务器发送请求数据,并接收服务器返回的数据。然后,JavaScript会动态更新DOM,填充三级菜单的内容。 ...

    js三级联动经典实例值得一看

    用javaScript 实现三级联动 经典实例 js javaScript 三级联动 js javaScript 三级联动 js javaScript 三级联动

    js省市地区三级联动

    在JavaScript编程中,"省市地区三级联动"是一种常见的前端交互设计,主要应用于网站或应用程序的地址选择功能。这种设计使得用户能够逐级选择省份、城市和区县,从而精确地定位到一个地理位置。以下是关于“js省市...

    纯js实现ajax无刷新三级联动

    通过学习和理解这个项目,开发者能够掌握如何在纯JavaScript环境中实现无刷新的三级联动效果,以及如何在.NET环境下构建支持这种功能的服务端架构。同时,这也涉及到数据库设计和数据交换格式的使用,对于提升Web...

    JavaScript 省市区三级联动 json文件

    省市区三级联动 , JavaScript 省市区三级联动 json文件,JavaScript 省市区三级联动 json文件

    js城市三级联动

    总的来说,JS城市三级联动是前端开发中的一项基本技能,涉及到的数据处理、DOM操作和事件监听等都是JavaScript编程的常用技巧。掌握这些技术,对于提升网页交互体验和提高开发效率都有很大帮助。

    世界主要国家地区JS三级联动菜单

    通过学习和实践这个“世界主要国家地区JS三级联动菜单”,你可以提升在前端开发中的动态交互设计能力,更好地理解和掌握JavaScript在实际项目中的应用。这个资源不仅可以帮助你实现一个功能完备的菜单系统,同时也是...

    省市区三级联动实现

    在本案例中,我们将讨论如何通过JavaScript来实现这种三级联动效果,同时也会提及到源码分析和相关工具的使用。 首先,我们来看"qqJsAddress"这个文件名,这可能是一个JavaScript库或者脚本,专门用于处理省市区三...

    纯js实现省市区三级联动

    在"纯js实现省市区三级联动"的项目中,开发者通过JavaScript代码,创建了三个下拉列表,分别代表省份、城市和区县。这些下拉列表的数据来源通常是JSON格式,因为JSON是一种轻量级的数据交换格式,易于人阅读和编写,...

    uni-app实现省市区三级联动的js文件

    本文件是uni-app实现省市区三级联动中的data.js文件,详情见博客:https://whhtjl.blog.csdn.net/article/details/109216246

    纯JS省市区三级联动,全国省市区用js实现三级下拉,直接引用js即可,后续更新版

    标题"纯JS省市区三级联动,全国省市区用js实现三级下拉,直接引用js即可,后续更新版"表明这是一个基于JavaScript编写的、用于实现全国范围内的省市区三级联动效果的代码库。它强调了“纯JS”,意味着不依赖任何外部...

    html+js实现地区三级联动下拉菜单

    总结起来,"html+js实现地区三级联动下拉菜单"是一种常见的前端交互设计,它利用HTML的`&lt;select&gt;`元素和JavaScript的事件监听及DOM操作实现地区选择的动态更新。这个示例代码简洁高效,适用于各种Web项目,并且提供...

    JS三级联动代码

    在JavaScript(JS)编程中,三级联动是一种常见的交互设计,常用于实现下拉菜单的联动效果,例如在选择国家、省份和城市时。这个场景在网页表单中尤为常见,可以提升用户在填写信息时的体验。在这个"JS三级联动代码...

    js 省市区select 三级联动(全国城市三级联动下拉列表)

    压缩包中的“js全国城市三级联动下拉列表”可能包含了一个JavaScript文件,该文件已经封装了上述逻辑。我们可以引入这个JS文件到HTML中,通过调用提供的函数初始化和绑定事件,如: ```html &lt;script src="js全国...

    javaScript 省市三级联动

    在省市三级联动中,JavaScript负责监听用户的交互,如省份选择的改变,并触发相应的事件,更新市和区的下拉列表。 **jQuery** 是一个流行的JavaScript库,简化了DOM操作、事件处理和AJAX交互。在这个例子中,jQuery...

    世界主要国家地区的JS三级联动(包括国内的省市区三级联动)

    在本文中,我们将深入探讨如何实现一个包括世界主要国家和地区在内的三级联动效果,以及在国内省市区的三级联动功能。这个功能常用于地址选择、区域筛选等场景,可以提供用户友好的交互体验。 首先,我们要理解什么...

    JS城市三级联动代码

    在网页开发中,"JS城市三级联动代码"是一种常见的交互设计,主要用于地址选择,例如省、市、区的选择。这种功能通常使用JavaScript实现,与其他后端技术如ASP和数据库(如ACCESS)配合工作,为用户提供流畅的下拉...

Global site tag (gtag.js) - Google Analytics