级联菜单下拉的实现

来源:互联网 发布:mplayerx for mac破解 编辑:程序博客网 时间:2024/05/01 12:08

最近在项目中用到了级联菜单,在网上查过资料后,大概有两种实现思路:

1.下拉列表中的数据从数据库中自动获取

2.下拉列表中的每一个选项都写在代码中

    相信我们都会选择第一种方法,这样不仅增强了代码的复用性,而且当我们的需求变动,需要显示新的数据时,只要更新数据库就可以了。而第二种方法只能适用于某种情况,需求改变,就需要在代码中进行大量的修改。

    我们今天就先来介绍一下用第二种方法来实现级联下拉菜单的效果

[csharp] view plain copy
  1. <!DOCTYPE >   
  2. <html>    
  3.     <head>   
  4.         <title> 代码实例:级联菜单 </title>   
  5.         <meta content="text/html; charset=utf-8" />   
  6.     </head>   
  7.     <body>   
  8.         <select id="College" name="College" size="1" onchange="Redirect(this.options.selectedIndex)">   
  9.             <option value="">化学与材料科学学院</option>   
  10.             <option value="">管理学院</option>   
  11.             <option value="">教育学院</option>   
  12.             <option value="">经济学院</option>  
  13.             <option value="">其他</option>   
  14.         </select>   
  15.         <select id="Major" name="Major" size="1">   
  16.             <option value="1">化学</option>   
  17.             <option value="2">材料化学</option>   
  18.             <option value="3">应用化学</option>   
  19.         </select>   
  20.         <script type="text/javascript">   
  21.   
  22.             var groups = document.getElementById("College").options.length;   
  23.             var group = new Array(groups)   
  24.             for (i = 0; i < groups; i ++)   
  25.             group[i] = new Array()   
  26.             group[0][0] = new Option("化学","40")   
  27.             group[0][1] = new Option("材料化学","41")   
  28.             group[0][2] = new Option("应用化学","42")   
  29.   
  30.             group[1][0] = new Option("财务管理本科","1")   
  31.             group[1][1] = new Option("财务管理专接本","2")   
  32.             group[1][2] = new Option("财务会计专科","3")   
  33.             group[1][3] = new Option("财务信息管理专科","4")   
  34.   
  35.             group[2][0] = new Option("初等教育理本科","80")   
  36.             group[2][1] = new Option("初等教育文本科","81")   
  37.             group[2][2] = new Option("教育学本科","82")   
  38.             group[2][3] = new Option("心理学本科","83")   
  39.   
  40.             group[3][0] = new Option("国际经济与贸易本科","120")   
  41.             group[3][1] = new Option("市场营销本科","121")   
  42.             group[3][2] = new Option("国际贸易实务专科","122")   
  43.             group[3][3] = new Option("市场营销专科","123")   
  44.             group[3][4] = new Option("金融与证劵专科","124")   
  45.   
  46.             group[4][0] = new Option("其他","160")   
  47.   
  48.             var temp = document.getElementById("Major");   
  49.             function Redirect(x){   
  50.                for (m = temp.options.length-1; m > 0; m --)   
  51.                temp.options[m] = null   
  52.                for (i = 0; i < group[x].length; i ++){   
  53.                    temp.options[i] = new Option(group[x][i].text,group[x][i].value);   
  54.                }   
  55.                temp.options[0].selected = true   
  56.             }   
  57.         </script>    
  58.   
  59.     </body>   
  60. </html>