要这样的一个树形demo 我改半天梅花雪的 没成功
用作调查选项的
左边是从数据库中读出来的树形结构4层之内吧 右边是一个个table 比如说左边的一个末节点对应右边的4个选项,让人checkbox选择 这样
------解决方案--------------------梅花雪的树是可以配置click行为的啊,在行为里显示/隐藏/改变frame的src都可以达到你的阴谋的. 不知道你的问题在哪儿呢?
------解决方案--------------------还是用 TreeView 好些,因为结果要回发 Server,不过限 ASP.NET
------解决方案----------------------------------------tree.js----------------
/*********************************** /
目录树代码 V1.21
.无限分类
.以 "- "数目表示层数,清晰明了
.动态展开&收缩
天窗 http://www.faisun.com
暖阳 faisun@sina.com
2004 年 11 月
/ **********************************/
var faisunMenu_openedfolderimage_src= "menutree/openedfolder.gif ";
var faisunMenu_closedfolderimage_src= "menutree/closedfolder.gif ";
var faisunMenu_menufileimage_src= "menutree/menufile.gif ";
var faisunMenu_treetext=new Array();
var faisunMenu_treeurl=new Array();
var faisunMenu_treeurltarget=new Array();
var faisunMenu_treeNum=0;
document.write( " <style type= 'text/css '> .blockhide{display:none;} .blockmove{overflow: hidden;height:1px;display:block;} .blockshow{overflow: visible;height:1px;display:block;} .hideme{overflow: visible;display:none;} .showme{overflow: visible;display:block;} .faisunMenu td{font-size:12px;} </style> ");
function outinit(itemNo,dir,blockheight){ //缩小一个div的高度
var subfiles=document.all[ "item "+itemNo];
if(blockheight==0){
subfiles.className= "blockshow ";
blockheight=parseInt(subfiles.offsetHeight);
if(dir> 0)subfiles.className= "blockmove ";
}
var outinspeed=blockheight/5;
var nowheight=parseInt(subfiles.offsetHeight)+outinspeed*dir;
if(nowheight <=0){
subfiles.className= "blockhide ";
return;
}else{
subfiles.className= "blockmove ";
}
if(nowheight> =blockheight && dir> 0){
subfiles.className= "blockshow ";
return;
}
subfiles.style.height=nowheight;
subfiles.scrollTop=blockheight;
parentsresize(subfiles);
setTimeout( "outinit( "+itemNo+ ", "+dir+ ", "+blockheight+ ") ",15);
}
function parentsresize(obj){ //缩小父类div的高度
do{
if(obj.className== "faisunMenu "){
break;
}
if(obj.className== "blockshow "){
obj.style.height= "1px ";
}
}while(obj=obj.parentElement);
}
function showhideit(itemNo){
var showfolder=document.images[ "openedfolderimage "+itemNo];
var hidefolder=document.images[ "closedfolderimage "+itemNo];
var subfiles=document.all[ "item "+itemNo];
if(subfiles.className== "blockmove ") return;
if(showfolder.className== "hideme ") {
hidefolder.className= "hideme ";
showfolder.className= "showme ";
outinit(itemNo,1,0);
}
else {
showfolder.className= "hideme ";
hidefolder.className= "showme ";
outinit(itemNo,-1,0);
}
}
function addtree(text,url,target){
faisunMenu_treetext.push(text);
faisunMenu_treeurl.push(url?url: " ");
faisunMenu_treeurltarget.push(target?target: "mainframe ");
}
function getsubnum(text){ //算出前面有几个 "- "号
var newtext=text.replace(/^-*/, " ");
return text.length-n