JavaScript結(jié)合HTML DOM實(shí)現(xiàn)聯(lián)動菜單
更新時間:2017年04月05日 17:31:53 作者:Harlem
這篇文章主要為大家詳細(xì)介紹了JavaScript結(jié)合HTML DOM實(shí)現(xiàn)聯(lián)動菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了js三級聯(lián)動菜單展示的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:

代碼:
<!DOCTYPE HTML>
<html>
<head>
<title>聯(lián)動菜單</title>
<meta charset="utf-8" />
<script>
/*使用 HTML DOM 的方式實(shí)現(xiàn)聯(lián)動菜單*/
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":'長褲'},
{"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,接收一個數(shù)組參數(shù)arr
function createSelect(arr){
//創(chuàng)建一個select
var sel=document.createElement("select");
//創(chuàng)建一個option,設(shè)置其內(nèi)容為"-請選擇-",值為-1,將option添加到select中
sel.add(new Option("--請選擇--",-1));
//遍歷arr
for(var i=0;i<arr.length;i++){
//創(chuàng)建一個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)建下一個select
createSelect(arr[i].children);
}
//將select添加到div中
div.appendChild(sel);
}
createSelect(categories);
</script>
</body>
</html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
- JSON+HTML實(shí)現(xiàn)國家省市聯(lián)動選擇效果
- js簡單實(shí)現(xiàn)HTML標(biāo)簽Select聯(lián)動帶跳轉(zhuǎn)
- PHP+Mysql+Ajax+JS實(shí)現(xiàn)省市區(qū)三級聯(lián)動
- JS實(shí)多級聯(lián)動下拉菜單類,簡單實(shí)現(xiàn)省市區(qū)聯(lián)動菜單!
- js實(shí)現(xiàn)的全國省市二級聯(lián)動下拉選擇菜單完整實(shí)例
- 最好用的二級聯(lián)動 原生js實(shí)現(xiàn)你值得擁有
- jquery+json 通用三級聯(lián)動下拉列表
- js操作二級聯(lián)動實(shí)現(xiàn)代碼
- JS制作簡單的三級聯(lián)動
- 基于jquery & json的省市區(qū)聯(lián)動代碼
相關(guān)文章
IE6中鏈接A的href為javascript協(xié)議時不在當(dāng)前頁面跳轉(zhuǎn)
IE6中當(dāng)鏈接A的href為javascript協(xié)議時不能在當(dāng)前頁面跳轉(zhuǎn),本例給出有效的解決方法,大家不妨參考下2014-06-06
JavaScript中合并Object的三種基本方法小結(jié)
在開發(fā)過程中,我們經(jīng)常會遇到合并對象的需求,今天我們就來了解一下合并對象的幾種基本方法,文中通過代碼示例介紹的非常詳細(xì),感興趣的小伙伴跟著小編一起來看看吧2023-08-08
js Element Traversal規(guī)范中的元素遍歷方法
對于元素間的空格,在IE9之前,都不會返回文檔節(jié)點(diǎn),其它的所有瀏覽器都會返回文檔節(jié)點(diǎn),為了兼容瀏覽器這間的差異,又不更改已有的DOM 標(biāo)準(zhǔn),所以有了 Element Traversal 規(guī)范2018-04-04
IE中document.createElement的iframe無法設(shè)置屬性name的解決方法
這篇文章主要介紹了IE中document.createElement的iframe無法設(shè)置屬性name的解決方法,需要的朋友可以參考下2015-09-09
echarts折線圖每段顯示不同的顏色的實(shí)現(xiàn)
本文主要介紹了echarts折線圖每段顯示不同的顏色的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-09-09
JavaScript中number轉(zhuǎn)換成string介紹
這篇文章主要介紹了JavaScript中number轉(zhuǎn)換成string介紹,本文講解了4個把number轉(zhuǎn)換成string的函數(shù),需要的朋友可以參考下2014-12-12

