JTree2.0 目录树demo

本文展示了一个使用JS实现的JTree2.0目录树的HTML代码,包括CSS和JavaScript部分。代码中包含了节点的点击事件处理,用于设置表单字段的值,并提供了查找节点的功能。此外,还提供了样例数据加载和初始化树形结构的方法。
摘要由CSDN通过智能技术生成

效果如下:
请添加图片描述
代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<meta name="keywords" content="JS代码,菜单导航,JS广告代码,JS特效代码" />
<meta name="description" content="此代码内容为JTree2.0 目录树,属于站长常用代码。" />
<title>JTree2.0 目录树</title>
<link href="css/main.css" rel="stylesheet" type="text/css" />
<link href="css/JTree.css" rel="stylesheet" type="text/css" />
<style>
<!--
.inputText{
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 12px;
	color: #666666;
	border: 1px solid #999999;
}
body {
	font-family: Georgia, "Times New Roman", Times, serif;
	font-size: 12px;
	color: #666666;
}
-->
</style>
<script type="text/javascript" src="includes/JTree.js"></script>
</head>

<body>
<table width="100%" border="0" cellspacing="5" cellpadding="0">
	<tr>
		<td width="41%" valign="top"><div id="showTree"></div></td>
		<td width="59%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="5">
			<tr>
				<td>分类名称:</td>
				<td><input name="typeCaption" type="text" class="inputText" id="typeCaption" /></td>
				<td>优先级:</td>
				<td><input name="PRI" type="text" class="inputText" id="PRI" /></td>
			</tr>
			<tr>
				<td>说明:</td>
				<td><input name="explain" type="text" class="inputText" id="explain" /></td>
				<td>父类:</td>
				<td><input name="parentType" type="text" class="inputText" id="parentType" /></td>
			</tr>
			<tr>
				<td>层次:</td>
				<td><input name="level" type="text" class="inputText" id="level" /></td>
				<td>&nbsp;</td>
				<td>&nbsp;</td>
			</tr>
			<tr>
			  <td colspan="4"><hr size="1" /></td>
		  </tr>
			<tr>
			  <td>节点名称:</td>
			  <td><label>
			    <input name="nodeCaption" type="text" class="inputText" id="nodeCaption" value="第三层" />
			  </label></td>
			  <td>			    <input type="button" name="Submit" value="查找节点" onclick="findNode(myTree.treeNodes)" />		

	  </td>
			  <td>&nbsp;</td>
		  </tr>
		</table></td>
	</tr>
</table>

</body>
</html>
<script language="javascript" type="text/javascript">
<!--
	function setValueById(pObjID,pValue){
		var obj=document.getElementById(pObjID);
		try{
			obj.value=pValue;
		}catch(e){
			alert("控件:"+pObjID+" 不存在,或没有value属性")
		}
	}
	
	function $(pID){
		return document.getElementById(pID);
	}
	
	function getNodeAtt(pNode,pAtt){
		try{
			return pNode.attributes.getNamedItem(pAtt).nodeValue;
		}catch(e){
			//alert("前台调试错误:\n"+e.message+"\n当前节点不存在: "+pAtt+"这个属性");
		}
	}
	
	var myTree=new JTree("showTree","vogueType.xml");
	myTree.setPicPath("JTreePic/")
	myTree.onclick=function(){
		//alert(myTree.selectNode.parentNode.attributes.getNamedItem("explain").nodeValue);
		//alert(myTree.clickItem.level)
		//alert(myTree.clickItem.treeNodes.length);
		//try{myTree.clickItem.treeNodes[0].click();}catch(e){}
		setValueById("typeCaption",vControl('REPLACE',getNodeAtt(myTree.selectNode,"caption")));
		setValueById("parentType",vControl('REPLACE',getNodeAtt(myTree.selectNode.parentNode,"caption")));
		setValueById("PRI",getNodeAtt(myTree.selectNode,"PRI"));
		setValueById("explain",getNodeAtt(myTree.selectNode,"explain"));
		setValueById("level",myTree.clickItem.level);
	}
	myTree.CAPTIONATT="caption";
	myTree.create();
	//alert(myTree.root.caption);
	myTree.root.treeNodes[0].treeNodes[1].click();
	myTree.treeNodes[0].treeNodes[1].expand(false);
	myTree.treeNodes[0].treeNodes[2].expand(false);
	
function vControl(pChoice,pParm){
	switch(pChoice){
		case "REPLACE":
			var pattern=/\([0-9]+\)$/;
				return pParm.replace(pattern,"");
			break;
		case "FINDNODE":
			var obj;
			for(var i=0;obj=pParm[i];i++){
				alert(obj.caption);
				if(obj.caption==$("nodeCaption").value)
					obj.click();
			}
			break;
	}
}

function findNode(pTree){
	var obj;
	for(var i=0;obj=pTree[i];i++){
		if(obj.caption==$("nodeCaption").value){
			obj.click();
			//obj.parentTreeNode.expand(true)
			myTree.clickItem.parentTreeNode.expand(true);
			return true;
		}
		findNode(obj.treeNodes)
	}
}

-->
</script>

下载源码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

reg183

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值