根据ID、父ID来排序的JS树
来源:互联网 发布:电脑怎么共享手机网络 编辑:程序博客网 时间:2024/05/08 17:09
根据ID、父ID来排序的JS树
// 得到接点
var datas = sFileName.selectNodes("datas/data") ;
var list = new Array() ;
var data = new Array() ;
for( var i = 0 ; i < datas.length ; i++ ){
if( datas[i].getAttribute( "类型" ) == "文件夹" ){
list.push( datas[i] ) ;
} else {
data.push( datas[i] ) ;
}
}
// 设置初始的父号
var fatherNo = -1 ;
// 显示目录
showTreeList( tree , fatherNo , datas ,list , data , null ,"") ;
// 改变图片和隐藏显示DIV
function expand( div , img ){
if( div.style.display == "block" ){
div.style.display = "none" ;
img.src = "images/pic/skin_NLine/closed.gif" ;
} else {
div.style.display = "block" ;
img.src = "images/pic/skin_NLine/opened.gif" ;
}
}
// 递归显示树
function showTreeList( tree , fatherNo , datas ,list , data , currentNode , listStrblank2 ) {
// 创建一个DIV
var treediv = document.createElement("div");
var isdisplay = "1" //节点的状态 默认为显示状态
treediv.id = "treediv" + isdisplay + fatherNo ;
if( currentNode ){
tree.innerHTML += listStrblank2 + "<IMG SRC='images/pic/skin_NLine/opened.gif' onclick='expand(" + treediv.id + ",this)' />" + currentNode.getAttribute( "组名称" ) + "<br>" ;
}
treediv.style.display = "block";
document.getElementById("MonitorObject").appendChild( treediv );
// 如果currentNode存在则显示组名称
var l = isChildList( fatherNo , list ) ;
// 如果有子目录,则在次循环.没有则判断是否有信息
if( l.length != 0 ){
listStrblank2 += " " ;
for( var j = 0 ; j < l.length ; j++ ){
showTreeList( treediv , l[j].getAttribute( "id" ) , datas ,list , data , l[j] , listStrblank2 ) ;
}
}
var d = isChildData( fatherNo , data ) ;
// 如果有子信息,则在次循环.没有则判断是否有信息
if( d.length != 0 ){
for( var j = 0 ; j < d.length ; j++ ) {
treediv.innerHTML += listStrblank2 + "<IMG SRC='images/pic/people.png' /><input type='checkbox' name='pName' value='" + d[j].getAttribute( "对象属性" ) + "'>" + "美女" + "<br> " ;
}
}
tree.appendChild(treediv) ;
}
// 判断是否有子文件夹
function isChildList( fatherNo , lists ){
// 定义一个保存子目录的对象
var l = new Array() ;
// 循环找其子目录
for( var i = 0 ; i < lists.length ; i++ ) {
// 如果父编号和父号相同,则保存
if( lists[i].getAttribute( "父编号" ) == fatherNo ) {
l.push( lists[i] ) ;
}
}
return l ;
}
// 判断是否有子信息
function isChildData( fatherNo , datas ){
var d = new Array() ;
for( var i = 0 ; i < datas.length ; i++ ) {
if( datas[i].getAttribute( "父编号" ) == fatherNo ) {
d.push( datas[i] ) ;
//alert(datas[i].getAttribute( "对象属性" )) ;
}
}
return d ;
}
// 得到接点
var datas = sFileName.selectNodes("datas/data") ;
var list = new Array() ;
var data = new Array() ;
for( var i = 0 ; i < datas.length ; i++ ){
if( datas[i].getAttribute( "类型" ) == "文件夹" ){
list.push( datas[i] ) ;
} else {
data.push( datas[i] ) ;
}
}
// 设置初始的父号
var fatherNo = -1 ;
// 显示目录
showTreeList( tree , fatherNo , datas ,list , data , null ,"") ;
// 改变图片和隐藏显示DIV
function expand( div , img ){
if( div.style.display == "block" ){
div.style.display = "none" ;
img.src = "images/pic/skin_NLine/closed.gif" ;
} else {
div.style.display = "block" ;
img.src = "images/pic/skin_NLine/opened.gif" ;
}
}
// 递归显示树
function showTreeList( tree , fatherNo , datas ,list , data , currentNode , listStrblank2 ) {
// 创建一个DIV
var treediv = document.createElement("div");
var isdisplay = "1" //节点的状态 默认为显示状态
treediv.id = "treediv" + isdisplay + fatherNo ;
if( currentNode ){
tree.innerHTML += listStrblank2 + "<IMG SRC='images/pic/skin_NLine/opened.gif' onclick='expand(" + treediv.id + ",this)' />" + currentNode.getAttribute( "组名称" ) + "<br>" ;
}
treediv.style.display = "block";
document.getElementById("MonitorObject").appendChild( treediv );
// 如果currentNode存在则显示组名称
var l = isChildList( fatherNo , list ) ;
// 如果有子目录,则在次循环.没有则判断是否有信息
if( l.length != 0 ){
listStrblank2 += " " ;
for( var j = 0 ; j < l.length ; j++ ){
showTreeList( treediv , l[j].getAttribute( "id" ) , datas ,list , data , l[j] , listStrblank2 ) ;
}
}
var d = isChildData( fatherNo , data ) ;
// 如果有子信息,则在次循环.没有则判断是否有信息
if( d.length != 0 ){
for( var j = 0 ; j < d.length ; j++ ) {
treediv.innerHTML += listStrblank2 + "<IMG SRC='images/pic/people.png' /><input type='checkbox' name='pName' value='" + d[j].getAttribute( "对象属性" ) + "'>" + "美女" + "<br> " ;
}
}
tree.appendChild(treediv) ;
}
// 判断是否有子文件夹
function isChildList( fatherNo , lists ){
// 定义一个保存子目录的对象
var l = new Array() ;
// 循环找其子目录
for( var i = 0 ; i < lists.length ; i++ ) {
// 如果父编号和父号相同,则保存
if( lists[i].getAttribute( "父编号" ) == fatherNo ) {
l.push( lists[i] ) ;
}
}
return l ;
}
// 判断是否有子信息
function isChildData( fatherNo , datas ){
var d = new Array() ;
for( var i = 0 ; i < datas.length ; i++ ) {
if( datas[i].getAttribute( "父编号" ) == fatherNo ) {
d.push( datas[i] ) ;
//alert(datas[i].getAttribute( "对象属性" )) ;
}
}
return d ;
}
- 根据ID、父ID来排序的JS树
- 根据根据子id查询所有的父id,根据父id 递归查询所有下级,
- 【JS】根据表格ID进行排序(附注释)
- 根据父ID聚合
- 根据繁忙程度来选择快照的id
- SQL2008+ 根据子类ID来查找最大级父类ID
- Js根据table的id导出table中的数据…
- 根据资源名来获得资源id
- 根据窗口句柄来获取进程ID
- js如何根据id获取标签内的值,以及如何通过id赋值
- mysql in根据查询id排序
- mysql in根据查询id排序
- js中用$(“#ID”)来作为选择器的问题(id重复的时候)
- JS提示信息来检测相应id的标签
- js根据id,class,标签获取元素
- js根据id判断是否为空
- JS中根据id删除一行数据
- DEDE根据栏目id加载JS
- 使用Ext中的Grid,Form,Dialog来实现列表,创建,更新,删除,查找和分页功能
- 开博
- 修改阿帕奇的默认配置
- 绑定事件
- 答案
- 根据ID、父ID来排序的JS树
- oracle数据库jdbc连接
- Oracle中插入Date数据
- samba服务器配置(练习题)
- 新闻内容页分页的简单做法
- PB事件/函数的触发机制和触发方式
- 《struts2权威指南》学习笔记之struts2整合Spring
- 用CSS改变鼠标样式
- My collection of English phrases(1)