select級聯下拉選單程式碼例項分析
級聯下拉選單的應用非常的廣泛,最為典型的就是省市級聯下拉選單,非常的方便使用,下面將分析一段級聯選單的程式碼例項,希望能夠對需要者帶來幫助,程式碼如下:
[HTML] 純文字檢視 複製程式碼<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>關聯select下拉選單程式碼例項-螞蟻部落</title> <script type="text/javascript"> window.onload=function(){ var example=document.doublecombo.example; example.onchange=function(){ redirect(this.options.selectedIndex); } var groups=example.options.length; var group=new Array(groups) for(i=0;i<groups;i++) { group[i]=new Array() } group[0][0]=new Option("滑鼠類","http://www.softwhy.com"); group[0][1]=new Option("視窗類","http://www.softwhy.com"); group[0][2]=new Option("導航類","http://www.softwhy.com"); group[1][0]=new Option("ASP","http://www.softwhy.com"); group[1][1]=new Option("PHP","http://www.softwhy.com"); group[1][2]=new Option("JSP","http://www.softwhy.com"); group[2][0]=new Option("Dreamweaver","http://www.softwhy.com"); group[2][1]=new Option("Fireworks","http://www.softwhy.com"); group[2][2]=new Option("Flash","http://www.softwhy.com"); group[2][3]=new Option("Photoshop","http://www.softwhy.com"); var temp=document.doublecombo.stage2 function redirect(x){ for(m=temp.options.length-1;m>0;m--) { temp.options[m]=null } for(I=0;I<group[x].length;I++){ temp.options[I]=new Option(group[x][I].text,group[x][I].value) } temp.options[0].selected=true } var bt=document.getElementById("bt"); bt.onclick=function(){ go() } function go(){ location.href=temp.options[temp.selectedIndex].value } } </script> </head> <body> <form name="doublecombo"> <select name="example" size="1"> <option>特效程式碼</option> <option>網頁語言</option> <option>軟體教程</option> </select> <select name="stage2" size="1"> <option value="http://www.softwhy.com">滑鼠類</option> <option value="http://www.softwhy.com">視窗類</option> <option value="http://www.softwhy.com">導航類</option> </select> <input type="button" name="test" value="跳轉" id="bt"> </form> </body> </html>
以上程式碼實現了兩個select下拉選單的級聯效果,下面介紹一下實現過程。
一.實現原理:
原理其實比較簡單,計算出第一個select下拉選單中option的數量(假定有N個),然後建立一個長度為N的陣列,這個陣列的每一項都是一個陣列,然後將第二個select下拉選單的項根據分類分別儲存於作為陣列元素的陣列中。當選擇第一個下拉選單的項時,能夠將當前選中項的索引傳遞給函式redirect(),此函式可以便利傳過來對應索引下陣列元素的項,並將各項重新設定為第二個select下拉選單的項,這樣就實現了級聯效果。
二.程式碼註釋:
1.window.onload=function(){},當文件內容完全載入完畢後再去執行函式中的程式碼。
2.var example=document.doublecombo.example,獲取第一個select下拉選單物件。
3.example.onchange=function(){},為第一個select下拉選單註冊onchange事件處理函式。
4.redirect(this.options.selectedIndex),呼叫redirect()函式,引數為當前備選項的索引值。
5.var groups=example.options.length,獲取第一個下拉選單項的長度。
6.var group=new Array(groups),建立一個長度為groups的陣列。
7.for(i=0;i<groups;i++){},初始化建立的陣列group,每一個陣列項的值是一個陣列。
8.group[0][0]=new Option("滑鼠類",http://www.softwhy.com),將group陣列第一項(是一個陣列)的第一項設定為一個Option物件。
9.var temp=document.doublecombo.stage2 ,獲取第二個select下拉選單物件。
10.function redirect(x){},建立一個函式,引數是第一個select下拉選單選中項的索引值。
11.for(m=temp.options.length-1;m>0;m--){},清空第二個下拉選單的所有項。
12.for(i=0;i<group[x].length;i++){},將第二個下拉選單的專案設定為相應傳遞過來索引項陣列中的專案。
13.temp.options[0].selected=true,將第一個下拉項設定為被選中專案。
14.var bt=document.getElementById("bt"),獲取按鈕物件。
15.bt.onclick=function(),為按鈕物件註冊點選事件處理函式。
16.go(),呼叫go()函式。
17.function go(){},宣告一個函式go()。
18.location.href=temp.options[temp.selectedIndex].value,跳轉到第二下拉選單選中項value屬性值所指定的連結地址。
三.相關閱讀:
1.關於javascript操作select下拉選單可以參閱javascript動態操作select下拉選單一章節。
2.關於陣列可以參閱JavaScript Array物件一章節。
相關文章
- select下拉選單級聯效果例項程式碼
- select下拉選單多級級聯效果程式碼例項
- select下拉選單美化程式碼例項
- jQuery美化select下拉選單程式碼例項jQuery
- jQuery操作select下拉選單程式碼例項jQuery
- 模擬select下拉選單程式碼例項
- select下拉選單項互換效果程式碼例項
- javascript刪除select下拉選單項程式碼例項JavaScript
- 原生javascript操作select下拉選單程式碼例項JavaScript
- 模擬美化select下拉選單程式碼例項
- css二級下拉選單程式碼例項CSS
- 模擬實現select下拉選單例項程式碼單例
- 動態生成select三級聯動選單程式碼例項
- 刪除和新增select下拉選單option項程式碼例項
- js模擬實現select下拉選單程式碼例項JS
- javascript新增和刪除select下拉選單option項程式碼例項JavaScript
- select下拉選單二級聯動
- css三級下拉導航選單程式碼例項CSS
- jQuery 省市級聯選單程式碼例項jQuery
- js省市級聯選單程式碼例項JS
- 替換預設select下拉選單箭頭程式碼例項
- Android實現三級聯動下拉框 下拉選單spinner的例項程式碼Android
- javascript設定select下拉選單readonly只讀程式碼例項JavaScript
- jquery新增或者刪除select下拉選單項程式碼jQuery
- 純CSS實現的二級下拉選單效果程式碼例項CSS
- select下拉選單實現分類級聯效果
- 滑鼠懸浮出現下拉選單程式碼例項
- css水平下拉導航選單程式碼例項CSS
- jQuery操作select下拉選單程式碼jQuery
- 選中select下拉選單項提交表單
- select下拉選單跳轉效果程式碼
- jQuery操作select下拉選單常用程式碼jQuery
- select下拉選單新增不重複項
- CSS3實現的美觀多級下拉選單效果程式碼例項CSSS3
- jQuery結合PHP+MySQL實現二級聯動下拉選單[例項]jQueryPHPMySql
- 點選文字框彈出可檢索下拉選單程式碼例項
- jQuery設定select選中項程式碼例項jQuery
- JS實現級聯下拉選單JS