最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript實現(xiàn)在下拉列表中顯示多級樹形菜單的方法

 更新時間:2015年08月12日 10:56:55   作者:企鵝  
這篇文章主要介紹了javascript實現(xiàn)在下拉列表中顯示多級樹形菜單的方法,涉及javascript屬性菜單的定義、構造及遍歷等技巧,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了javascript實現(xiàn)在下拉列表中顯示多級樹形菜單的方法。分享給大家供大家參考。具體如下:

這里演示在下拉列表框中顯示分級的菜單,在很多網(wǎng)站都可以看到的效果,很實用,下拉列表框中的選項是利用JS控制輸出,如果你有更好的辦法不用JS來顯示,那最好了,因為像這種菜單用JS來實現(xiàn),多多少少有點麻煩。

運行效果截圖如下:

具體代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>在下拉列表中顯示的多級樹形菜單</title>
<meta http-equiv="content-type" content="text/html;charset=gb2312">
<script type="text/javascript"> 
var data =new Array(); 
data[0]= {id:'0',pid:'1',text:'河北'}; 
data[1]= {id:'1',pid:'-1',text:'中國'}; 
data[2]= {id:'2',pid:'6',text:'莫斯科'}; 
data[3]= {id:'3',pid:'0',text:'河南'}; 
data[4]= {id:'4',pid:'0',text:'北京'}; 
data[5]= {id:'5',pid:'3',text:'湖南'}; 
data[6]= {id:'6',pid:'-1',text:'俄羅斯'}; 
function TreeSelector(item,data,rootId){ 
this._data = data; 
this._item = item; 
this._rootId = rootId; 
} 
TreeSelector.prototype.createTree = function(){ 
var len =this._data.length; 
for( var i= 0;i<len;i++){ 
if ( this._data[i].pid == this._rootId){ 
this._item.options.add(new Option(".."+this._data[i].text,this._data[i].id)); 
for(var j=0;j<len;j++){ 
this.createSubOption(len,this._data[i],this._data[j]); 
} 
} 
} 
} 
TreeSelector.prototype.createSubOption = function(len,current,next){ 
var blank = ".."; 
if ( next.pid == current.id){ 
intLevel =0; 
var intlvl =this.getLevel(this._data,this._rootId,current); 
for(a=0;a<intlvl;a++) 
blank += ".."; 
blank += "├-"; 
this._item.options.add(new Option(blank + next.text,next.id)); 
for(var j=0;j<len;j++){ 
this.createSubOption(len,next,this._data[j]); 
} 
} 
} 
TreeSelector.prototype.getLevel = function(datasources,topId,currentitem){ 
var pid =currentitem.pid; 
if( pid !=topId) 
{ 
for(var i =0 ;i<datasources.length;i++) 
{ 
if( datasources[i].id == pid) 
{ 
intLevel ++; 
this.getLevel(datasources,topId,datasources[i]); 
} 
} 
} 
return intLevel; 
} 
</script> 
</head>
<body>
<select id="myselect"></select> 
<script language=javascript type="text/javascript"> 
var ts = new TreeSelector(document.getElementById("myselect"),data,-1); 
ts.createTree(); 
</script> 
</body>
</html>

希望本文所述對大家的javascript程序設計有所幫助。

相關文章

  • javascript限制用戶只能輸漢字中文的方法

    javascript限制用戶只能輸漢字中文的方法

    這篇文章主要介紹了javascript限制用戶只能輸漢字中文的方法,實例列舉了利用Unicode判斷與正則判斷兩種方法,具有一定的實用價值,需要的朋友可以參考下
    2014-11-11
  • JavaScript?canvas繪制動態(tài)圓環(huán)進度條

    JavaScript?canvas繪制動態(tài)圓環(huán)進度條

    這篇文章主要為大家詳細介紹了JavaScript?canvas繪制動態(tài)圓環(huán)進度條,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • 10個在JavaScript開發(fā)中常遇到的BUG

    10個在JavaScript開發(fā)中常遇到的BUG

    給大家詳細著整理了在JavaScript開發(fā)中大家經常遇到的BUG和問題,需要的朋友參考學習下吧。
    2017-12-12
  • Echarts?3D散點圖實戰(zhàn)案例

    Echarts?3D散點圖實戰(zhàn)案例

    這篇文章主要給大家介紹了關于Echarts?3D散點圖的相關資料, Echarts散點圖是一種常用的數(shù)據(jù)可視化圖表類型,用于展示兩個或多個維度的數(shù)據(jù)分布情況,需要的朋友可以參考下
    2023-11-11
  • 用js實現(xiàn)多域名不同文件的調用方法

    用js實現(xiàn)多域名不同文件的調用方法

    用js實現(xiàn)多域名不同文件的調用方法...
    2007-01-01
  • 百度小程序自定義通用toast組件

    百度小程序自定義通用toast組件

    這篇文章主要介紹了百度小程序自定義通用toast組件,百度小程序的toast僅支持在頁中展示,不能自定義位置、字體大小、在單個文本中增加icon等需求;因此自定義一個全局可通用的Toast,需要的朋友可以參考下
    2019-07-07
  • Echarts如何重新渲染實例詳解

    Echarts如何重新渲染實例詳解

    這篇文章主要給大家介紹了關于Echarts重新渲染的相關資料,文中通過實例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-05-05
  • package.json管理依賴包版本詳解

    package.json管理依賴包版本詳解

    本文講述前端項目的實戰(zhàn)中,是如何使用package.json對依賴包進行版本管理的,以及不同規(guī)則對依賴的管理會產生什么影響
    2022-07-07
  • JS如何操作DOM基于表格動態(tài)展示數(shù)據(jù)

    JS如何操作DOM基于表格動態(tài)展示數(shù)據(jù)

    這篇文章主要介紹了JS如何操作DOM基于表格動態(tài)展示數(shù)據(jù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-10-10
  • JavaScript中前后端交互Ajax示例詳解

    JavaScript中前后端交互Ajax示例詳解

    Ajax不是一種新的編程語言,而是使用現(xiàn)有標準的新方法,下面這篇文章主要給大家介紹了關于JavaScript中前后端交互Ajax的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-03-03

最新評論

绥宁县| 田阳县| 鄂温| 黄浦区| 渝中区| 封开县| 武隆县| 阿勒泰市| 皮山县| 始兴县| 凤庆县| 治县。| 宣汉县| 象州县| 绥化市| 玉环县| 壶关县| 汉中市| 赤壁市| 绩溪县| 元阳县| 巴林右旗| 疏附县| 怀安县| 称多县| 常熟市| 上虞市| 马关县| 广水市| 江川县| 南宁市| 常宁市| 凤阳县| 横山县| 甘洛县| 阿鲁科尔沁旗| 河西区| 江门市| 尼玛县| 浦县| 万山特区|