JS實(shí)現(xiàn)的五級(jí)聯(lián)動(dòng)菜單效果完整實(shí)例
本文實(shí)例講述了JS實(shí)現(xiàn)的五級(jí)聯(lián)動(dòng)菜單效果。分享給大家供大家參考,具體如下:
js實(shí)現(xiàn)多級(jí)聯(lián)動(dòng)的方法很多,這里給出一種5級(jí)聯(lián)動(dòng)的例子,其實(shí)可以擴(kuò)展成N級(jí)聯(lián)動(dòng),在做項(xiàng)目的時(shí)候碰到了這樣一個(gè)問(wèn)題但是有不能從數(shù)據(jù)庫(kù)中動(dòng)態(tài)的加載這些選項(xiàng),所以只有想辦法從單個(gè)的頁(yè)面著手來(lái)處理了,應(yīng)為項(xiàng)目的表單是動(dòng)態(tài)產(chǎn)生的,所以需要每個(gè)流程的設(shè)計(jì)過(guò)程中需要有單獨(dú)的頁(yè)面來(lái)處理,這樣就決定了不能改變已有的業(yè)務(wù)邏輯來(lái)實(shí)現(xiàn)多級(jí)表單的聯(lián)動(dòng)。
運(yùn)行效果圖如下:
完整代碼如下:
<html> <head> <title>級(jí)聯(lián)</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style> body,select { font-size:9pt; font-family:Verdana; } a { color:red; text-decoration:none; } a:hover { text-decoration:underline; } </style> <SCRIPT LANGUAGE="JavaScript"> function Dsy() { this.Items = {}; } Dsy.prototype.add = function(id,iArray) { this.Items[id] = iArray; } Dsy.prototype.Exists = function(id) { if(typeof(this.Items[id]) == "undefined") return false; return true; } function change(v) { var str="0"; for(i=0;i<v;i++) { str+=("_"+(document.getElementById(s[i]).selectedIndex-1)); }; var ss=document.getElementById(s[v]); with(ss) { length = 0; options[0]=new Option(opt0[v],opt0[v]); if(v && document.getElementById(s[v-1]).selectedIndex>0 || !v) { if(dsy.Exists(str)) { ar = dsy.Items[str]; for(i=0;i<ar.length;i++)options[length]=new Option(ar[i],ar[i]); if(v)options[1].selected = true; } } if(++v<s.length) { change(v); } } } var dsy = new Dsy(); dsy.add("0",["投訴申告","業(yè)務(wù)咨詢","用戶預(yù)約","服務(wù)調(diào)度","其它"]); dsy.add("0_0",["標(biāo)準(zhǔn)化產(chǎn)品","行業(yè)產(chǎn)品","服務(wù)類產(chǎn)品","客戶服務(wù)"]); dsy.add("0_0_0",["語(yǔ)音類","接入類","短信類","其它"]); dsy.add("0_0_0_0",["短號(hào)集群網(wǎng)","集團(tuán)VPMN","移動(dòng)總機(jī)","集團(tuán)總機(jī)","集團(tuán)彩鈴","V網(wǎng)伴侶"]); dsy.add("0_0_0_0_0",["否認(rèn)辦理","撥打空號(hào)","二次確認(rèn)短信問(wèn)題","短信查詢短號(hào)信息問(wèn)題","BOSS系統(tǒng)故障","其它"]); dsy.add("0_0_0_0_1",["否認(rèn)辦理","其它"]); dsy.add("0_0_0_0_2",["撥打空號(hào)","BOSS系統(tǒng)故障","撥打提示【關(guān)機(jī)】"]); dsy.add("0_0_0_0_3",["其它"]); dsy.add("0_0_0_0_4",["否認(rèn)辦理","整個(gè)集團(tuán)鈴音丟失","系統(tǒng)故障","資費(fèi)誤收","無(wú)法聽(tīng)到集團(tuán)彩鈴","BOSS系統(tǒng)故障","鈴音設(shè)置","其它"]); dsy.add("0_0_0_0_5",["否認(rèn)辦理","其它"]); dsy.add("0_0_0_1",["GPRS企業(yè)接入","手機(jī)郵箱(pushmail)","Blackberry","IP專線"]); dsy.add("0_0_0_1_0",["資費(fèi)誤收","終端無(wú)法接收","BOSS系統(tǒng)故障","其它"]); dsy.add("0_0_0_1_1",["套餐","終端無(wú)法接收","BOSS系統(tǒng)故障","其它"]); dsy.add("0_0_0_1_2",["套餐","終端無(wú)法接收","BOSS系統(tǒng)故障","其它"]); dsy.add("0_0_0_1_3",["數(shù)據(jù)專線","語(yǔ)音專線"]); dsy.add("0_0_0_2",["企信通","短信直連(MAS)","3M"]); dsy.add("0_0_0_2_0",["無(wú)法發(fā)送短信","終端無(wú)法接收","BOSS系統(tǒng)故障","資費(fèi)誤收","無(wú)法登陸","其它"]); dsy.add("0_0_0_2_1",["無(wú)法發(fā)送短信","終端無(wú)法接收","BOSS系統(tǒng)故障","資費(fèi)誤收","無(wú)法登陸","其它"]); dsy.add("0_0_0_2_2",["無(wú)法發(fā)送短信","終端無(wú)法接收","資費(fèi)誤收","無(wú)法登陸","其它"]); dsy.add("0_0_0_3",["移動(dòng)字典","企業(yè)郵箱","其它"]); dsy.add("0_0_0_3_0",["無(wú)法登陸","其它"]); dsy.add("0_0_1",["校訊通","財(cái)訊通","警務(wù)通","銀信通","城管通","政務(wù)通","物流通","其它"]); dsy.add("0_0_1_0",["否認(rèn)辦理","資費(fèi)誤收","終端延時(shí)(或無(wú)法)接收","其它"]); dsy.add("0_0_1_1",["否認(rèn)辦理","資費(fèi)誤收","終端延時(shí)(或無(wú)法)接收","其它"]); dsy.add("0_0_1_2",["終端延時(shí)(或無(wú)法)接收","其它"]); dsy.add("0_0_1_3",["否認(rèn)辦理","資費(fèi)誤收","終端延時(shí)(或無(wú)法)接收","其它"]); dsy.add("0_0_1_4",["否認(rèn)辦理","資費(fèi)誤收","終端延時(shí)(或無(wú)法)接收","其它"]); dsy.add("0_0_1_5",["否認(rèn)辦理","資費(fèi)誤收","終端延時(shí)(或無(wú)法)接收","其它"]); dsy.add("0_0_1_6",["否認(rèn)辦理","資費(fèi)誤收","終端延時(shí)(或無(wú)法)接收","其它"]); dsy.add("0_0_1_7",["其它"]); dsy.add("0_0_2",["跨市VPMN","跨市短號(hào)集群網(wǎng)","集團(tuán)代付"]); dsy.add("0_0_2_0",["互聯(lián)互通","資費(fèi)誤收","其它"]); dsy.add("0_0_2_1",["互聯(lián)互通","資費(fèi)誤收","其它"]); dsy.add("0_0_2_2",["互聯(lián)互通","資費(fèi)誤收","其它"]); dsy.add("0_0_3",["客戶經(jīng)理","服務(wù)廳","分銷商","產(chǎn)品開(kāi)發(fā)商"]); dsy.add("0_0_3_0",["服務(wù)態(tài)度","業(yè)務(wù)受理延時(shí)","業(yè)務(wù)受理錯(cuò)誤","聯(lián)系無(wú)應(yīng)答"]); dsy.add("0_0_3_1",["服務(wù)態(tài)度","業(yè)務(wù)受理延時(shí)","業(yè)務(wù)受理錯(cuò)誤","聯(lián)系無(wú)應(yīng)答"]); dsy.add("0_0_3_2",["服務(wù)態(tài)度","業(yè)務(wù)受理延時(shí)","業(yè)務(wù)受理錯(cuò)誤","聯(lián)系無(wú)應(yīng)答"]); dsy.add("0_0_3_3",["服務(wù)態(tài)度","業(yè)務(wù)受理延時(shí)","業(yè)務(wù)受理錯(cuò)誤","聯(lián)系無(wú)應(yīng)答"]); dsy.add("0_1",["標(biāo)準(zhǔn)化產(chǎn)品","行業(yè)產(chǎn)品","服務(wù)類產(chǎn)品"]); dsy.add("0_1_0",["短號(hào)集群網(wǎng)","移動(dòng)總機(jī)","集團(tuán)總機(jī)","集團(tuán)彩鈴","V網(wǎng)伴侶","GPRS企業(yè)接入","手機(jī)郵箱(pushmail)","Blackberry","IP專線","企信通","短信直連(MAS)","企業(yè)郵箱","移動(dòng)字典"]); dsy.add("0_1_0_0",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_1",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_2",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_3",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_4",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_5",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_6",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_7",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_8",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_9",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_10",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_11",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_0_12",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1",["校訊通","財(cái)訊通","警務(wù)通","銀信通","城管通","政務(wù)通","物流通","其它"]); dsy.add("0_1_1_0",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1_1",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1_2",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1_3",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1_4",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1_5",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1_6",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_1_7",["其它"]); dsy.add("0_1_2",["跨市VPMN","跨市短號(hào)集群網(wǎng)","集團(tuán)代付"]); dsy.add("0_1_2_0",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_2_1",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_1_2_2",["業(yè)務(wù)辦理?xiàng)l件及流程","產(chǎn)品使用功能","資費(fèi)計(jì)費(fèi)介紹","系統(tǒng)操作指引","營(yíng)銷方案"]); dsy.add("0_2",["產(chǎn)品申請(qǐng)","其它"]); dsy.add("0_2_0",["新建短號(hào)集群網(wǎng)","新建集團(tuán)彩鈴","新建手機(jī)郵箱","新建移動(dòng)總機(jī)","新建集團(tuán)總機(jī)","新建Blackberry","新建IP專線","新建短信直連","新建企信通","其它"]); dsy.add("0_2_1",["其它"]); dsy.add("0_3",["上門(mén)(駐點(diǎn))服務(wù)","電話服務(wù)","其它"]); dsy.add("0_3_0",["客戶經(jīng)理","企信通開(kāi)發(fā)商","移動(dòng)總機(jī)開(kāi)發(fā)商","移動(dòng)名片開(kāi)發(fā)商","Blackberry開(kāi)發(fā)商","手機(jī)郵箱開(kāi)發(fā)商","校訊通合作商","財(cái)信通合作商","物流通合作商","其它"]); dsy.add("0_3_1",["客戶經(jīng)理","企信通開(kāi)發(fā)商","移動(dòng)總機(jī)開(kāi)發(fā)商","移動(dòng)名片開(kāi)發(fā)商","Blackberry開(kāi)發(fā)商","手機(jī)郵箱開(kāi)發(fā)商","校訊通合作商","財(cái)信通合作商","物流通合作商","其它"]); </SCRIPT> <SCRIPT language = "javascript"> var s=["s1","s2","s3","s4","s5"]; var opt0 = ["一級(jí)選擇","二級(jí)選擇","三級(jí)選擇","四級(jí)選擇","五級(jí)選擇"]; function setup() { for(i=0;i<s.length-1;i++) document.getElementById(s[i]).onchange=new Function("change("+(i+1)+")"); change(0); } </SCRIPT> </head> <body bgcolor="#E0E0E0" onLoad="setup()" style="margin:0"> <form name="frm"> <select id="s1"><option>一級(jí)選擇</option></select> <select id="s2"><option>二級(jí)選擇</option></select> <select id="s3"><option>三級(jí)選擇</option></select> <select id="s4"><option>四級(jí)選擇</option></select> <select id="s5"><option>五級(jí)選擇</option></select> </form> </body> </html>
更多關(guān)于JavaScript相關(guān)內(nèi)容可查看本站專題:《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫(huà)特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JS實(shí)多級(jí)聯(lián)動(dòng)下拉菜單類,簡(jiǎn)單實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)菜單!
- jsp從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)填充下拉框?qū)崿F(xiàn)二級(jí)聯(lián)動(dòng)菜單的方法
- js實(shí)現(xiàn)簡(jiǎn)單的聯(lián)動(dòng)菜單效果
- JS簡(jiǎn)單實(shí)現(xiàn)多級(jí)Select聯(lián)動(dòng)菜單效果代碼
- 實(shí)例詳解AngularJS實(shí)現(xiàn)無(wú)限級(jí)聯(lián)動(dòng)菜單
- 從QQ網(wǎng)站中提取的純JS省市區(qū)三級(jí)聯(lián)動(dòng)菜單
- 基于Javascript實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單效果
- JavaScript實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)菜單效果
- PHP+JS三級(jí)菜單聯(lián)動(dòng)菜單實(shí)現(xiàn)方法
- JavaScript實(shí)現(xiàn)聯(lián)動(dòng)菜單特效
相關(guān)文章
分享10個(gè)常見(jiàn)的JavaScript前端手寫(xiě)功能
這篇文章主要分享10個(gè)常見(jiàn)的前端手寫(xiě)功能,防抖、節(jié)流、深拷貝、異步控制并發(fā)數(shù)、繼承等功能技巧,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-02-02js比較兩個(gè)單獨(dú)的數(shù)組或?qū)ο笫欠裣嗟鹊膶?shí)例代碼
本文通過(guò)實(shí)例代碼給大家介紹了js比較兩個(gè)單獨(dú)的數(shù)組或?qū)ο笫欠裣嗟?,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-04-04使用json對(duì)象轉(zhuǎn)化為key,value的對(duì)象數(shù)組
這篇文章主要介紹了使用json對(duì)象轉(zhuǎn)化為key,value的對(duì)象數(shù)組方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06JavaScript獲取ul中l(wèi)i個(gè)數(shù)的方法
這篇文章主要介紹了JavaScript獲取ul中l(wèi)i個(gè)數(shù)的方法,涉及javascript針對(duì)頁(yè)面HTML元素的獲取及屬性操作相關(guān)技巧,需要的朋友可以參考下2017-02-02JavaScript中對(duì)循環(huán)語(yǔ)句的優(yōu)化技巧深入探討
這篇文章主要介紹了JavaScript中對(duì)循環(huán)語(yǔ)句的優(yōu)化技巧深入探討,本文翻譯自一個(gè)臺(tái)灣朋友的文章,需要的朋友可以參考下2014-06-06