首页 > web前端 > js教程 > 正文

js中三级联动的实现

巴扎黑
发布: 2016-11-25 10:50:43
原创
1261人浏览过

联动的实现其实很简单,但是有些细节却很容易出错。在此分享一下我在学习了二级联动后,去实现三级联动的基本思路。 
      思路:因为二级联动是一级联与二级联通过onchange事件连接,所以三级联动便是二级联与三级联连接。(可能表述不够清楚)简单的来说其过程大致是:a事件——触发——b事件——触发——c事件。 
      注意事项:特别要注意其中数组对应的下标与选项value值的匹配。option选项中各项选项的value值也可以是数字,value值用数字更方便实现。 
例题:      
各学期对应课程                                  
学年: 第一学年、第二学年 
学期: 第一学期、第二学期                          
课程: 
第一学年—>第一学期—>html,java,sqlserver基础,c# 
第一学年—>第二学期—>javascript,.net,sqlserver高级,jsp 
第二学年—>第一学期—>struts,asp.net,ajax 
第二学年—>第二学期—>spring,hibernate                 ' 
            
         
代码: 
java代码  

nbsp;html>  

  

 

  

      

  

三级联动  

   

 

  

    

各学期对应课程
  

      

    

学年     

      

    学期 

          

            

      

    课程 

          

        

  

      

   

    <script> </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

                    //如果是第一学年,则将第一学期的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);  

            }      

        }  

      

 

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号