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位置的商品類別有children
if(i>=0&&arr[i].children!==undefined)
//用arr中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)下拉菜單類,簡(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 指南和示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
微信小程序有旋轉(zhuǎn)動(dòng)畫效果的音樂組件實(shí)例代碼
這篇文章主要介紹了微信小程序有旋轉(zhuǎn)動(dòng)畫效果的音樂組件,需要的朋友可以參考下2018-08-08
js利用iframe實(shí)現(xiàn)選項(xiàng)卡效果
這篇文章主要為大家詳細(xì)介紹了js利用iframe實(shí)現(xiàn)選項(xiàng)卡效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08
javascript上下方向鍵控制表格行選中并高亮顯示的方法
這篇文章主要介紹了javascript上下方向鍵控制表格行選中并高亮顯示的方法,涉及javascript針對(duì)鍵盤按鍵操作相應(yīng)的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
js利用FileReader實(shí)現(xiàn)圖片轉(zhuǎn)base64格式并上傳預(yù)覽頭像
本文主要介紹了js利用FileReader實(shí)現(xiàn)圖片轉(zhuǎn)base64格式并上傳預(yù)覽頭像,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05
原生JS實(shí)現(xiàn)幾個(gè)常用DOM操作API實(shí)例
下面小編就為大家?guī)硪黄鶭S實(shí)現(xiàn)幾個(gè)常用DOM操作API實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01

