treetable.js

来自「树形结构」· JavaScript 代码 · 共 67 行

JS
67
字号
var nodeValue;

//显示或隐藏树形Table的子节点数据
function showHiddenNode(imgObj,trId){
	var imgSrc = imgObj.src.toLowerCase();
	if(imgSrc.indexOf("nolines_minus.gif") != -1){ //隐藏
		imgObj.src = "images/dtree/nolines_plus.gif";
		jQuery("tr[id^=" + trId + "_]").css("display", "none");
		
	}else{ //显示
		imgObj.src = "images/dtree/nolines_minus.gif";
		
		//显示第一层的子节点
		var trs = jQuery("tr[pid=" + trId + "]");
		trs.css("display", "");
		
		//显示更深层的子节点
		for(var i=0;i<trs.length;i++){
			showHiddenSub(trs[i].id);
		}
		
	}
}

//递归检查下一级节点是否需要显示
function showHiddenSub(trId){
	var imgObj = document.getElementById("IMG_" + trId.replace("TR_",""));
	if(imgObj == null) return;
	
	var imgSrc = imgObj.src.toLowerCase();
	if(imgSrc.indexOf("nolines_minus.gif") != -1){//下级节点是展开的,则需要显示出来
		var trs = jQuery("tr[pid=" + trId + "]");
		trs.css("display", "");
		
		for(var i=0;i<trs.length;i++){
			showHiddenSub(trs[i].id);
		}
	}
}

//显示上下文菜单
function showContextMenu(menuId, id){
	var obj = document.all[menuId];
	obj.style.left = window.event.clientX;
    obj.style.top = window.event.clientY + document.body.scrollTop;
    obj.style.display = "";
	window.event.returnValue = false;
	
	nodeValue = id;
}

//隐藏上下文菜单
function hiddenContextMenu(obj){
	//判断鼠标指向的对象是否在<div>中
	if(obj.contains(window.event.toElement) == false){
		obj.style.display='none';
	}
}

//本窗口或者在新的窗口显示页面
function showDetails(url, isSelfTarget){
	if(isSelfTarget != null && isSelfTarget == "true"){
		window.location.href = url;
	}else{
		window.open(url, "", "scrollbars=yes,resizable=yes,height=500,width=800,top=100,left=100");
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?