⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree.js.svn-base

📁 tapestry json 实现从数据库读取数据生成树
💻 SVN-BASE
字号:
/**
 * 说明:调用树的示例
 * 作者:许文言
 * 日期:2008-05-21
 * 注意点:
 * 1.请根据实际情况更改下面有注释的几个参数
 * 
 * 修改记录:
 * 作者:何则锐
 * 时期:2008-05-29
 * 修改内容:判断节点返回值,页面修改时,是否重复showCheckValue()
 * 通过点击时才运行树,改原从页面自动读取 showtree();
 * 
 */
 
 function showtree()
{
 	
	Ext.onReady(function(){
                //artemis相对于本页面的位置,默认是在同一级目录下
                var artemisDir='';
                Ext.BLANK_IMAGE_URL = artemisDir+'artemis/external/ext2/resources/images/default/s.gif';
                var Tree = Ext.tree;
                var tree = new Tree.TreePanel({
                    //用来填充tree的div的id
                    el: 'tree-div',
                    width: 218,
                    height: 300,
                    //树的选择模式:'multiple':多选; 'single':单选; 'cascade':级联多选,如果不是选择树去掉该属性
                    checkModel: 'cascade', 
                    //是否只有叶子节点才出现选择框
                    onlyLeafCheckable: false,
                    animate: false,
                    rootVisible: false,
                    autoScroll: true,
                    loader: new Tree.TreeLoader({
                    //后来提供jsons数据的url
                        dataUrl: '/TreeTest/app?service=external/TreeTapestry',
                        //如果不是选择树去掉该属性
                        baseAttrs: {
                            uiProvider: Ext.tree.TreeCheckNodeUI
                        }
                    })
                });
                var root = new Tree.AsyncTreeNode({
                    text: 'root',
                    draggable: false,
                    id: 'extroot'
                });
                tree.setRootNode(root);
                tree.render();
                tree.on("check", showCheckValue); //注册"check"事件 选择叶子节点 打勾类型
                //tree.on("click", showClickValue); //注册"click"事件 选择叶子节点  
                root.expand();
            });
 
           //checkbox返回地区的code与name,(只是子节点返回)
            function showCheckValue(node, checked){
            	//document.getElementById('str').readOnly = true;
                var selectvalue = document.getElementById('str').value.trim();//节点名称
                var selectCode = document.getElementById("code").value.trim(); //节点ID
                var type,tt;
                var nowvalue = node.text+",";
                var nowCode = node.id+",";
                var strArray,codeArray;
                
                //用于修改页面时出现的情况
 				//var allStr = document.getElementById('str').value.trim();
 				//var allCode = document.getElementById('code').value.trim();
                
                if(selectvalue !== "" && selectvalue !== null){
			 		strArray = selectvalue.split(",");
			 	}
			 	//if(selectCode !== "" && selectCode !== null){
			 	//	codeArray = selectCode.split(",");
			 	//}
			 	
			 	type = 0;
			 	//tt = 0;
			 	
                if (checked) {
                	if(node.leaf){ //返回是叶子节点时的ID与名称
                		if(selectvalue === ""){
                			selectvalue = nowvalue;
                			selectCode = nowCode;
	                	}else{
	                		if(strArray.length > 0){
	                			//alert(strArray[0]);
		                		//判断是否存在该节点了,特别是用在修改页面时的情况
		                		for(var i=0;i<strArray.length;i=i+1){
		                			if(nowvalue == strArray[i]+","){
		                				type = 1;
		                			}
		                		}
		                		if(type === 0){
		                			selectvalue = selectvalue + nowvalue;
		                			selectCode = selectCode + nowCode;
		                		}
		                		
	                		}else{
	                			selectvalue = selectvalue + nowvalue;
	                			selectCode = selectCode + nowCode;
	                		}
	                	}
	                	/**if(selectCode === ""){
	                		selectCode = nowCode;
	                	}else{
	                		if(codeArray.length > 0){
	                			//判断是否存在该节点了,特别是用在修改页面时的情况
		                		for(var j=0;i<codeArray.length;j=j+1){
		                			if(nowCode == codeArray[j]+","){
		                				tt = 1;
		                			}
		                		}
		                		if(tt === 0){
		                			selectCode = selectCode + nowCode;
		                		}
		                		
	                		}else{
	                			selectCode = selectCode + nowCode;
	                		}
	                	}*/
                	}
                }
                else {
                    selectvalue = selectvalue.replace(nowvalue, "");
                    selectCode = selectCode.replace(nowCode,"");
                    //alert(selectvalue);
                    //alert("ddd:"+selectvalue.indexOf(selectvalue,1));
                    //selectvalue = selectvalue.replace(temp,"");
                    //selectCode = selectCode.replace(temp1,"");
                }
                document.getElementById('str').value = selectvalue;
                document.getElementById("code").value = selectCode;
            }
            
            //点击事件时返回code与name(只是子节点返回) 
          /**  function showClickValue(node){
                //alert('提示', "你选择的是:"+node.text);
                
            }
            
*/
}

⌨️ 快捷键说明

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