`
WChao226
  • 浏览: 27632 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

zTree实例

阅读更多
如果我的博文能帮到你,我感到非常荣幸。能力所限,对于我所写的内容如有不详不对,你们能给一些意见的话我将非常感谢。以后我会将我在工作中学到的一些知识,尽量整理出来给大家分享。 你们的意见是我的动力

对于zTree实在不知道写什么分析见解,因为zTree仅仅就是一个开发好的树型工具,我们只需要了解怎么使用就可以了。详情见zTree的APIhttp://www.ztree.me/v3/main.php
不过我还是对新接触的同学提一些注意事项:
$.fn.zTree.init($("myZtreeID"), setting, jsonStr):初始化zTree树,如果setting, json都配置正确,执行这句话,zTree树就会显示
$("myZtreeID"):   zTreeID对象.
setting:    zTree的设置.
jsonStr:    树节点的json.jsonStr 只要按照规定格式组合即可。
对于jsonStr:通常有2种方式:一种是通过id,pId确定父子级的;如:
var jsonStr = "[{id:1,pId:0,name:'基础根节点',open:true,isParent:true},{id:11,pId:1,name:'分组一1',open:true,isParent:},{id:12,pId:1,name:'叶子节点',open:true,isParent:false},{id:111,pId:11,name:'分组一叶子',open:true,isParent:false}]";
一种是通过children的方式确定父子级的;如:var jsonStr = [
   {name:"基础根节点", open:true, children:[{name:"分组一1", open:true, children:[{name:"分组一叶"}]},
      {name:"test1_1"}, {name:"test1_2"}]}
   ];
两种方式任意一种都可显示
我的实例-效果图

先直接上基本的代码
-------------------------------------------
html代码
<style>
<!--
.ztree li span.button.add {margin-left:2px; margin-right: -1px; background-position:-144px 0; vertical-align:top; *vertical-align:middle}
-->/**解决新增按钮不显示**/
</style>
<div>
   <ul id="myZtreeID" class="ztree"></ul>
</div>

-------------------------------------------
js代码
var setting = {
	    async: {
			enable: true,
			url: function (treeId,treeNode){
				return "execute.do?method=getZTreeJson";
			},
			dataFilter: function(treeId, parentNode, responseData) {
			    return responseData;
			}
		},
		check: {
			enable: true  //是否开启checkbox
		},
		edit: {
			drag:{
				isMove:false,
				isCopy:false
			},
			enable: true,//不可编辑
			showAddBtn: true,//显示增加按钮
			showRemoveBtn: showRemoveBtn,
			showRenameBtn: showRenameBtn
		},
		data: {
			keep:{
				parent: true,//保持是父节点状态,
//默认为false,删除下面所有子节点之后,会自动变为叶子节点状态
				leaf:true//保持是叶子节点状态
			},
			simpleData: {
				enable: false   //是否可以编辑
			}
		},
		view: {
			addHoverDom: addHoverDom,
			removeHoverDom: removeHoverDom,
			selectedMulti: true,
			expandSpeed: ""
		},
		callback: {
			beforeRemove:beforeRemove,
			beforeRename:beforeRename,
			onRemove: removeFun,
			onRename: renameFun
			
		}
	};

	function removeFun(event,treeId,treeNode){
	         //删除之后执行此方法
	}
	function renameFun(event,treeId,treeNode){
	         //重命名之后执行此方法	
         }
	
	function beforeRemove(treeId, treeNode) {
                  //删除之前的回调函数,
                     // return false; //阻止删除
         }
	function beforeRename(treeId, treeNode, newName, isCancel) {
                  //重命名之前回调函数
                     //return false;//阻止重命名
	}
	function showRemoveBtn(treeId, treeNode) {
                  //用于控制删除按钮的显示与否
		if(treeNode.pId == -1){
			//隐藏删除按钮
			return false;
		}else{
			return true;
		}
	}
	function showRenameBtn(treeId, treeNode) {
                 //用于控制修改按钮的显示与否
		if(!treeNode.isParent){
			//隐藏修改按钮
			return false;
		}else{
			return true;
		}
	}
	function addHoverDom(treeId, treeNode) {
              //鼠标移上去。新增按钮显示
              var sObj = $("#" + treeNode.tId + "_span");
		if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;
		var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
			+ "' title='add node' onfocus='this.blur();'></span>";
		sObj.after(addStr);
		var btn = $("#addBtn_"+treeNode.tId);
		if (btn) btn.bind("click", function(){
                     //doSomthing.自定义的新增按钮点击事件
                   });
         }
	function removeHoverDom(treeId, treeNode) {
              //鼠标移除节点后,新增按钮消失
	     $("#addBtn_"+treeNode.tId).unbind().remove();
	};
       //第一次,异步请求出根节点。
         $.ajax({
	    url:"execute.do?method=getZTreeJson",//同步方式取根节点
	     type:'post',
	    dataType:'text',
	    success:function(data) {
	    var rootJson = eval(data);
	    $.fn.zTree.init($("myZtreeID"), setting, rootJson);
	    //展开第一个节点
	     var treeObj_ = $.fn.zTree.getZTreeObj("myZtreeID");
	    var nodes = treeObj_.getNodes();
	    if(nodes.length>0) {
	         treeObj_.expandNode(nodes[0], true, true, true);
	    }
	   }
	});   


--------------------------------------------
java代码
public String getZTreeJson(HttpServletRequest request){
         	//自己组织出这样的字串即可,			
String jsonStr = "[{id:1,pId:0,name:'基础根节点',open:true,isParent:true},{id:11,pId:1,name:'分组一1',open:true,isParent:},{id:12,pId:1,name:'叶子节点',open:true,isParent:false},{id:111,pId:11,name:'分组一叶子',open:true,isParent:false}]";
        return jsonStr;
}

  • 大小: 4.4 KB
0
1
分享到:
评论

相关推荐

    新建文件夹_ztree实例_双边拍卖_最后通牒_

    这个“新建文件夹_ztree实例_双边拍卖_最后通牒_”的压缩包可能包含了一些使用ZTree实现特定功能的示例代码,如双边拍卖和最后通牒机制的模拟。下面我们将详细探讨这些概念以及它们与ZTree的结合应用。 1. **ZTree*...

    SSH 做的ztree实例

    在本次的"SSH 做的ztree实例"中,ztree是一个基于JavaScript的树形菜单组件,常用于展示层级结构的数据,如目录结构、组织架构等。Ztree以其良好的交互性和灵活性深受开发者喜爱,它可以轻松实现节点的增删改查、...

    一个zTree实例

    在这个"一个zTree实例"中,我们将探讨如何结合SSH(Spring、Struts2、Hibernate)框架,实现zTree的功能,包括增、删、改操作,并通过MySQL数据库来动态获取和存储数据,同时提供一个直观的后台查看效果。...

    (附数据库脚本)jQuery Ztree实例

    通过解压并运行这个项目,你可以看到一个完整的jQuery Ztree实例,它展示了如何从数据库动态加载数据、显示树结构以及响应节点点击事件。 总的来说,jQuery Ztree 结合数据库脚本,为开发者提供了一种灵活且功能...

    jquery ui1.8.16+jquery-easyui-1.2.2+asp.net+ztree实例

    这个压缩包文件包含的资源是将以上技术结合在一起的实例,展示了如何在 ASP.NET 开发环境中集成 jQuery UI 1.8.16、jQuery EasyUI 1.2.2 以及 zTree,实现异步动态加载的树形视图。这可能是为了教学目的,帮助开发者...

    jfinal ztree实例

    **JFinal ZTree 实例详解** JFinal 是一个基于 Java 的轻量级 Web 开发框架,它以 MVC(Model-View-Controller)架构为基础,旨在提高开发效率,降低开发成本。ZTree 是一款广泛使用的 JavaScript 树状菜单插件,...

    JqueryzTree实例

    ### Jquery zTree 实例详解 #### 一、概述 Jquery zTree 是一款基于 jQuery 的强大且灵活的 Tree 控件插件。该插件旨在为开发者提供一套完整且易于使用的树状结构组件,适用于大多数网页开发场景。zTree 支持多种...

    ztree小例子

    在这个"ztree小例子"中,我们将探讨如何使用最新版本的jquery.ztree-2.6.js来创建一个功能完备的zTree实例。 首先,我们需要了解zTree的基本概念。zTree的核心在于将HTML结构转化为具有交互性的树形数据展示,它...

    基于struts2做的ztree实例

    基于struts2,用json传值,用jquery的ztree做了一棵树,后台用的Oracle,包里面有建表语句。因为之前也没有用过struts2,json,ztree,正好学学struts2,在包crud里面是增删改查,从官网上比着弄的,crud2是自己从网上...

    ztree所有实例+api

    这些文件是构建zTree实例的基础,开发者需要正确引入它们到自己的项目中,才能正常使用zTree。 总结来说,zTree v3作为一款强大的JavaScript树形插件,提供了丰富的实例和详细的API,无论是对于初学者还是有经验的...

    ZTREE.net实例

    本实例展示了如何在.NET应用中动态加载数据,并将其呈现为ZTREE的节点,从而提升用户界面的交互性和可操作性。让我们深入探讨这个过程。 首先,ZTREE的核心在于其JSON数据格式。在.NET应用中,我们需要创建一个...

    zTree异步加载简单示例VS2008项目完整源码

    这个"zTree异步加载简单示例VS2008项目完整源码"是针对开发人员的一个实用资源,提供了如何在Visual Studio 2008环境下实现zTree异步加载功能的具体代码实例。 异步加载(Async Loading)是zTree的核心特性之一,它...

    Ztree完整实例

    - **初始化**:通过`$.fn.zTree.init()`方法创建ZTree实例,传入DOM元素和配置对象。 - **操作API**:ZTree提供了丰富的API,如`treeObj.selectNode()`选择节点,`treeObj.expandNode()`展开节点。 - **事件绑定*...

    zTree 3.0 实例下载

    **zTree 3.0 实例详解** zTree是一款基于JavaScript的树形插件,广泛应用于网页中的数据展示,如文件目录、组织架构等场景。zTree 3.0是其一个重要的版本,提供了丰富的功能和高度的自定义性。在实际开发中,拥有...

    JQuery zTree源码以及示例

    **jQuery zTree** 是一个基于jQuery的开源树形插件,它被广泛应用于网页中构建交互式的树形结构。这个插件提供了丰富的功能,如节点的增删改查、节点的展开与折叠、多选模式、异步加载数据等。在本资料中,我们包含...

    ztree使用完整示例

    **ZTree 使用详解** ZTree 是一款基于 jQuery 的灵活、强大的树形插件,广泛应用于网页界面中的数据展示和操作。这款插件以其丰富的配置选项、完善的API接口以及优秀的性能,深受开发者的喜爱。本教程将详细介绍...

    JQuery zTree v2.6 基本用法实例

    通过以上基本用法,我们可以快速搭建一个功能完备的zTree实例。但zTree的功能远不止于此,它还支持节点拖放、右键菜单、搜索、剪切复制粘贴等多种高级特性,具体使用方法可以根据实际需求查阅官方文档或示例代码。在...

    ztree官网参考文档及demo

    五、zTree实例化与使用 首先,引入zTree的CSS和JS文件,然后创建HTML结构,最后初始化zTree: ```html &lt;div id="treeDemo" class="ztree"&gt; $(document).ready(function(){ var zNodes = [ {/*节点数据*/} ]; // ...

    ztree带层级穿梭框

    穿梭框在ZTree中的实现,意味着在两个独立的ZTree实例之间可以进行数据的转移。用户可以选择一个或多个节点,通过点击按钮将它们从左侧的ZTree移动到右侧,或者反之。这在需要用户选择多项并分组的场景中特别实用,...

Global site tag (gtag.js) - Google Analytics