﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-思想有多远，就能走多远</title><link>http://www.blogjava.net/wormdata/</link><description>一同进步，一同成长</description><language>zh-cn</language><lastBuildDate>Thu, 07 May 2026 04:42:10 GMT</lastBuildDate><pubDate>Thu, 07 May 2026 04:42:10 GMT</pubDate><ttl>60</ttl><item><title>下拉框显示树形菜单</title><link>http://www.blogjava.net/wormdata/archive/2009/12/22/306878.html</link><dc:creator>啊杰</dc:creator><author>啊杰</author><pubDate>Tue, 22 Dec 2009 02:36:00 GMT</pubDate><guid>http://www.blogjava.net/wormdata/archive/2009/12/22/306878.html</guid><wfw:comment>http://www.blogjava.net/wormdata/comments/306878.html</wfw:comment><comments>http://www.blogjava.net/wormdata/archive/2009/12/22/306878.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wormdata/comments/commentRss/306878.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wormdata/services/trackbacks/306878.html</trackback:ping><description><![CDATA[<p>&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br />
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;<br />
&lt;head&gt;<br />
&lt;title&gt;六七句-网页特效-导航菜单-下拉框中显示的多级树形菜单&lt;/title&gt;<br />
&lt;meta http-equiv="content-type" content="text/html;charset=gb2312"&gt;<br />
&lt;!--把下面代码加到&lt;head&gt;与&lt;/head&gt;之间--&gt;<br />
&lt;script type="text/javascript"&gt; <br />
var data =new Array(); <br />
data[0]= {id:'0',pid:'1',text:'河北'}; <br />
data[1]= {id:'1',pid:'-1',text:'中国'}; <br />
data[2]= {id:'2',pid:'6',text:'莫斯科'}; <br />
data[3]= {id:'3',pid:'0',text:'邯郸'}; <br />
data[4]= {id:'4',pid:'0',text:'石家庄'}; <br />
data[5]= {id:'5',pid:'3',text:'邯郸县'}; <br />
data[6]= {id:'6',pid:'-1',text:'俄罗斯'}; <br />
function TreeSelector(item,data,rootId){ <br />
this._data = data; <br />
this._item = item; <br />
this._rootId = rootId; <br />
} <br />
TreeSelector.prototype.createTree = function(){ <br />
var len =this._data.length; <br />
for( var i= 0;i&lt;len;i++){ <br />
if ( this._data[i].pid == this._rootId){ <br />
this._item.options.add(new Option(".."+this._data[i].text,this._data[i].id)); <br />
for(var j=0;j&lt;len;j++){ <br />
this.createSubOption(len,this._data[i],this._data[j]); <br />
} <br />
} <br />
} <br />
} <br />
TreeSelector.prototype.createSubOption = function(len,current,next){ <br />
var blank = ".."; <br />
if ( next.pid == current.id){ <br />
intLevel =0; <br />
var intlvl =this.getLevel(this._data,this._rootId,current); <br />
for(a=0;a&lt;intlvl;a++) <br />
blank += ".."; <br />
blank += "├-"; <br />
this._item.options.add(new Option(blank + next.text,next.id)); <br />
for(var j=0;j&lt;len;j++){ <br />
this.createSubOption(len,next,this._data[j]); <br />
} <br />
} <br />
} <br />
TreeSelector.prototype.getLevel = function(datasources,topId,currentitem){ <br />
var pid =currentitem.pid; <br />
if( pid !=topId) <br />
{ <br />
for(var i =0 ;i&lt;datasources.length;i++) <br />
{ <br />
if( datasources[i].id == pid) <br />
{ <br />
intLevel ++; <br />
this.getLevel(datasources,topId,datasources[i]); <br />
} <br />
} <br />
} <br />
return intLevel; <br />
} <br />
&lt;/script&gt; <br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
&lt;!--把下面代码加到&lt;body&gt;与&lt;/body&gt;之间--&gt;<br />
&lt;select id="myselect"&gt;&lt;/select&gt; <br />
&lt;script language=javascript type="text/javascript"&gt; <br />
var ts = new TreeSelector(document.getElementById("myselect"),data,-1); <br />
ts.createTree(); <br />
&lt;/script&gt; <br />
&lt;/body&gt;<br />
&lt;/html&gt;</p>
<p>******************************************************************************<br />
&nbsp;&nbsp;&nbsp; ***********************************第二种*********************************<br />
******************************************************************************<br />
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt;<br />
&lt;html&gt;<br />
&nbsp;&lt;head&gt;<br />
&nbsp; &lt;title&gt; New Document &lt;/title&gt;<br />
&nbsp; &lt;link rel="stylesheet" type="text/css" href="../ext/resources/css/ext-all.css" /&gt; <br />
&nbsp; &lt;script type="text/javascript" src="../ext/adapter/ext/ext-base.js"&gt;&lt;/script&gt;<br />
&nbsp; &lt;script type="text/javascript" src="../ext/ext-all.js"&gt;&lt;/script&gt;<br />
&nbsp; &lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"&gt;<br />
&nbsp;&lt;/head&gt;<br />
&nbsp;&lt;body&gt;<br />
&nbsp;&lt;script&gt;<br />
&nbsp;Ext.onReady(function(){<br />
&nbsp;&nbsp;&nbsp;&nbsp; Ext.QuickTips.init();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var comboWithTooltip = new Ext.form.ComboBox({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; store:new Ext.data.SimpleStore({fields:[],data:[[]]}), <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; editable:false, //禁止手写及联想功能<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mode: 'local', <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; triggerAction:'all', <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxHeight: 200, <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tpl: '&lt;div id="tree" style="height:200px"&gt;&lt;/div&gt;', //html代码<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; selectedClass:'', <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; onSelect:Ext.emptyFn,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; emptyText:'请选择...',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; renderTo: 'comboxtree' <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //创建树形结构<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var tree = new Ext.tree.TreePanel({ <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; border:false, <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autoScroll:true,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; animate:true,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autoWidth:true,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; autoHeight:true,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enableDD:true,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; containerScroll: true,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; loader: new Ext.tree.TreeLoader({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dataUrl:'treedata.php'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; })<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //树的点击时间<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree.on("click",function(node,e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if(node.isLeaf()){<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e.stopEvent();//非叶子节点则不触发<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comboWithTooltip.setValue(node.text);//设置option值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comboWithTooltip.collapse();//隐藏option列表<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(comboWithTooltip.getValue());//打印option值<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var root = new Ext.tree.AsyncTreeNode({<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; text: '根节点',&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //节点名称<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; draggable:false,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //是否支持拖动<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; id:'0101103'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //节点id<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree.setRootNode(root);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //展开option时生成树<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; comboWithTooltip.on('expand',function(){ <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree.render('tree'); <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //tree.expandAll();//自动展开树<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }); <br />
});<br />
&nbsp; &lt;/script&gt;<br />
&nbsp; &lt;div id="comboxtree"&gt;&lt;/div&gt;<br />
&nbsp;&lt;/body&gt;<br />
&lt;/html&gt;<br />
******************************************************************************<br />
&nbsp;&nbsp;&nbsp; ***********************************第三种*********************************<br />
******************************************************************************<br />
&nbsp;&lt;script type="text/javascript" src="&lt;%=path%&gt;/close/js/dtree.js"&gt;&lt;/script&gt;&nbsp;<br />
&nbsp;&nbsp;&lt;div class="dtree"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;select name="deptl" id="deptl" onchange="ChangeDepart('deptl');"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;style="width:99%;height:100%;"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option selected value="-1"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;==请选择部门==<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/option&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;script type="text/javascript"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d = new dTree('d');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;logic:iterate id="dept" name="deptlist" &gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add('${dept.fcompanyid}','-1','${dept.fcompanyname}');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.add('${dept.fid}','${dept.fpid}','${dept.fname}','','','','','','','','','','${dept.fmark}');<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/logic:iterate&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;document.write(d);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;</p>
<img src ="http://www.blogjava.net/wormdata/aggbug/306878.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wormdata/" target="_blank">啊杰</a> 2009-12-22 10:36 <a href="http://www.blogjava.net/wormdata/archive/2009/12/22/306878.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>