JavaScript結(jié)合HTML DOM實(shí)現(xiàn)聯(lián)動(dòng)菜單
本文實(shí)例為大家分享了js三級(jí)聯(lián)動(dòng)菜單展示的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:
代碼:
<!DOCTYPE HTML> <html> <head> <title>聯(lián)動(dòng)菜單</title> <meta charset="utf-8" /> <script> /*使用 HTML DOM 的方式實(shí)現(xiàn)聯(lián)動(dòng)菜單*/ var categories=[ { "id":10, "name":'男裝', "children":[ {"id":101,"name":'正裝'}, {"id":102,"name":'T恤'}, {"id":103,"name":'褲衩'} ] }, { "id":20, "name":'女裝', "children":[ {"id":201,"name":'短裙'}, {"id":202,"name":'連衣裙'}, { "id":203, "name":'褲子', "children": [ {"id":2031,"name":'長(zhǎng)褲'}, {"id":2031,"name":'九分褲'}, {"id":2031,"name":'七分褲'} ] }, ] }, {"id":30,"name":'童裝',"children":[ {"id":301,"name":'帽子'}, {"id":302,"name":'套裝',"children":[ {"id":3021,"name":"0-3歲"}, {"id":3021,"name":"3-6歲"}, {"id":3021,"name":"6-9歲"}, {"id":3021,"name":"9-12歲"} ]}, {"id":303,"name":'手套'} ]} ]; </script> </head> <body> <div id="category"></div> <script> //查找id為category的div保存在div中 var div=document.getElementById("category"); //定義函數(shù)createSelect,接收一個(gè)數(shù)組參數(shù)arr function createSelect(arr){ //創(chuàng)建一個(gè)select var sel=document.createElement("select"); //創(chuàng)建一個(gè)option,設(shè)置其內(nèi)容為"-請(qǐng)選擇-",值為-1,將option添加到select中 sel.add(new Option("--請(qǐng)選擇--",-1)); //遍歷arr for(var i=0;i<arr.length;i++){ //創(chuàng)建一個(gè)option,設(shè)置內(nèi)容為當(dāng)前元素的name屬性,設(shè)置value為當(dāng)前元素的id屬性,將新option添加到select中 sel.add(new Option(arr[i].name,arr[i].id)); }//(遍歷結(jié)束) //為sel綁定onchange事件 sel.onchange=function(){ //反復(fù):只要當(dāng)前select不是div的lastChild while(this!=div.lastChild) //讓div刪除其lastChild div.removeChild(div.lastChild); //獲得當(dāng)前選中項(xiàng)的下表-1,保存在i中 var i=this.selectedIndex-1; //如果arr中i位置的商品類(lèi)別有children if(i>=0&&arr[i].children!==undefined) //用arr中i位置的商品類(lèi)別的children數(shù)組創(chuàng)建下一個(gè)select createSelect(arr[i].children); } //將select添加到div中 div.appendChild(sel); } createSelect(categories); </script> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JSON+HTML實(shí)現(xiàn)國(guó)家省市聯(lián)動(dòng)選擇效果
- js簡(jiǎn)單實(shí)現(xiàn)HTML標(biāo)簽Select聯(lián)動(dòng)帶跳轉(zhuǎn)
- PHP+Mysql+Ajax+JS實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
- JS實(shí)多級(jí)聯(lián)動(dòng)下拉菜單類(lèi),簡(jiǎn)單實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)菜單!
- js實(shí)現(xiàn)的全國(guó)省市二級(jí)聯(lián)動(dòng)下拉選擇菜單完整實(shí)例
- 最好用的二級(jí)聯(lián)動(dòng) 原生js實(shí)現(xiàn)你值得擁有
- jquery+json 通用三級(jí)聯(lián)動(dòng)下拉列表
- js操作二級(jí)聯(lián)動(dòng)實(shí)現(xiàn)代碼
- JS制作簡(jiǎn)單的三級(jí)聯(lián)動(dòng)
- 基于jquery & json的省市區(qū)聯(lián)動(dòng)代碼
相關(guān)文章
JavaScript操作XML/HTML比較常用的對(duì)象屬性集錦
本文給大家介紹javascript操作xml/html比較常用的對(duì)象屬性,涉及到j(luò)s對(duì)象屬性相關(guān)知識(shí),對(duì)JavaScript操作XML/HTML比較常用的對(duì)象屬性感興趣的朋友可以參考下本文2015-10-10詳解簡(jiǎn)單易懂的 ES6 Iterators 指南和示例
這篇文章主要介紹了詳解簡(jiǎn)單易懂的 ES6 Iterators 指南和示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09微信小程序有旋轉(zhuǎn)動(dòng)畫(huà)效果的音樂(lè)組件實(shí)例代碼
這篇文章主要介紹了微信小程序有旋轉(zhuǎn)動(dòng)畫(huà)效果的音樂(lè)組件,需要的朋友可以參考下2018-08-08js利用iframe實(shí)現(xiàn)選項(xiàng)卡效果
這篇文章主要為大家詳細(xì)介紹了js利用iframe實(shí)現(xiàn)選項(xiàng)卡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08javascript上下方向鍵控制表格行選中并高亮顯示的方法
這篇文章主要介紹了javascript上下方向鍵控制表格行選中并高亮顯示的方法,涉及javascript針對(duì)鍵盤(pán)按鍵操作相應(yīng)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02js利用FileReader實(shí)現(xiàn)圖片轉(zhuǎn)base64格式并上傳預(yù)覽頭像
本文主要介紹了js利用FileReader實(shí)現(xiàn)圖片轉(zhuǎn)base64格式并上傳預(yù)覽頭像,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05原生JS實(shí)現(xiàn)幾個(gè)常用DOM操作API實(shí)例
下面小編就為大家?guī)?lái)一篇原生JS實(shí)現(xiàn)幾個(gè)常用DOM操作API實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01