當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

JS代碼完成三級聯動菜單(2)

JS代碼完成三級聯動菜單(2)

更新時間:2023-06-19 文章作者:未知 信息來源:網絡 閱讀次數:

編程(Programming)是編定程序的中文簡稱,就是讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,并最終得到相應結果的過程。為了使計算機能夠理解(understand)人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程。

【實例名稱】

JS代碼實現三級聯動菜單(2)

【實例描述】

三級聯動菜單一般用在多項選擇上,如果用戶不選擇第一級菜單,就無法實現第二級菜單的選擇。本例學習制作三級聯動菜單,與前例不同的是,本例的實現方法是通過封裝方法的調用。

【實例代碼】

 

<html xmlns="http://www.w3.org/1999/xhtml" > <head>     <title>標題頁-本站(www.xue51.com)</title> </head> <body> <form method="post" name="form1"> <select name="select1" onchange="select()"></select> <select name="select2"></select> <select name="select3"></select> </form> <script language="javascript"> var arrText = new Array(3); var arrValue = new Array(arrText.length); //設置3個下拉框的值 function objSetOption(select1, select2, select3) { this.select1 = select1; this.select2 = select2; this.select3 = select3; } //指定3個下拉框的值 arrText[0]= new objSetOption("選擇A:", "選擇B_1:,選擇B_2:", "選擇C_1:,選擇C_2:"); arrText[1] = new objSetOption("論文:A", "語文:A,數學:B,英語:C", "初中:A,高中:B"); arrText[2] = new objSetOption("例題:A", "顯示A2_1: 值B2_1,顯示A2_2:值B2_2", "顯示A3_1:值B3_1,顯示B3_2:值B3_2"); //判斷用戶的選擇 function select() { var eltSelect1 = document.form1.select1; var eltSelect2 = document.form1.select2; var eltSelect3 = document.form1.select3; var arrSelect1, arrSelect2, arrSelect3; var arrData1, arrData2, arrData3; //如果選擇的是第一個下拉框 with(eltSelect1) { var strSelect = options[selectedIndex].value; } for(i = 0;i < arrText.length;i ++) { arrSelect1 = arrText[i].select1; arrData1 = arrSelect1.split(":"); if (arrData1[1] == strSelect) { arrSelect2 = (arrText[i].select2).split(","); for(j = 0;j < arrSelect2.length;j++) { arrData2 = arrSelect2[j].split(":"); //如果選擇的是第二個下拉框 with(eltSelect2) { length = arrSelect2.length; options[j].text = arrData2[0]; options[j].value = arrData2[1]; } } arrSelect3 = (arrText[i].select3).split(","); for(j = 0;j < arrSelect3.length;j++) { arrData3 = arrSelect3[j].split(":"); //如果選擇的是第三個下拉框 with(eltSelect3) { length = arrSelect3.length; options[j].text = arrData3[0]; options[j].value = arrData3[1]; } } break; } } } //初始化設置3個下拉框 function init() { var eltSelect1 = document.form1.select1; var eltSelect2 = document.form1.select2; var eltSelect3 = document.form1.select3; var arrSelect1, arrSelect2, arrSelect3; var arrData1, arrData2, arrData3; if (eltSelect1 != undefined && eltSelect2 ! = undefined && eltSelect3 != undefined) { with(eltSelect1) { length = arrText.length; for(i = 0;i < arrText.length;i ++) { arrSelect1 = arrText[i].select1; arrData1 = arrSelect1.split(":"); options[i].text = arrData1[0]; options[i].value = arrData1[1]; } } with(eltSelect2) { arrSelect2 = (arrText[0].select2).split(","); length = arrSelect2.length; for(i = 0;i < length;i ++) { arrData2 = arrSelect2[i].split(":"); options[i].text = arrData2[0]; options[i].value = arrData2[1]; } } with(eltSelect3) { arrSelect3 = (arrText[0].select3).split(","); length = arrSelect3.length; for(i = 0;i < length;i ++) { arrData3 = arrSelect3[i].split(":"); options[i].text = arrData3[0]; options[i].value = arrData3[1]; } } } } init(); </script> </body> </html>

【運行效果】

 三級聯動菜單運行效果

【難點剖析】

本例的重點是如何動態填充二級和三級菜單。當使用“options[selectedIndex].Value”知道用戶選擇的是第一級菜單時,使用“arrSelect2=(arrText[i].select2).split(”,”);’’為二級菜單填充內容;當選擇的是二級菜單時,使用“arrData3=arrSelect3[j].split(¨=");”為三級菜單填充內容。

【源碼下載】

為了JS代碼的準確性,請點擊:三級聯動菜單(2) 進行本實例源碼下載 


使用編程語言寫的程序,由于每條指令都對應計算機一個特定的基本動作,所以程序占用內存少、執行效率高。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
亚洲嫩草影院久久精品