`
iwebcode
  • 浏览: 2071511 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

jquery zTree异步加载简单实例

 
阅读更多

首先提供Ztree官方网站http://www.ztree.me

Ztree是一个使用jQuery实现的JSP页面的各种功能树,本文介绍一个异步获取数据到下拉树的实现方式。

当前版本Ztree 3.5.01

simple.html

<!DOCTYPE html>
<html>
  <head>
    <title>simple.html</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <link rel="stylesheet" type="text/css" href="css/zTreeStyle.css">
	<script type="text/javascript" src="js/jquery.js"></script>
	<script type="text/javascript" src="js/jquery.ztree.core-3.5.js"></script>
	<script type="text/javascript" src="js/jquery.ztree.excheck-3.5.min.js"></script>
<!-- 	<script type="text/javascript" src="js/standard.js"></script> -->
	<script type="text/javascript" src="js/1.js"></script>
  </head>
  
  <body>
    <div class="zTreeDemoBackground left"><ul id="treeDemo" class="ztree"></ul></div>
  </body>
</html>

js

var setting = {  
            data: {  
                simpleData: {  
                    enable: true
//        			idKey:"id",
//        			pIdKey:"pId",
                }  
            }  
            ,async: {  
                enable: true,  
                url:"/Java_Solr/servlet/ZTreeSerlvet",  
                autoParam:["id", "name"],  
                otherParam:{"otherParam":"zTreeAsyncTest"},  
//        		dataType: "text",//默认text
//        		type:"get",//默认post
                dataFilter: filter  //异步返回后经过Filter
            }
            ,callback:{
//              beforeAsync: zTreeBeforeAsync,      // 异步加载事件之前得到相应信息  
                asyncSuccess: zTreeOnAsyncSuccess,//异步加载成功的fun  
                asyncError: zTreeOnAsyncError,   //加载错误的fun  
                beforeClick:beforeClick //捕获单击节点之前的事件回调函数
            }
        };  
		//treeId是treeDemo
        function filter(treeId, parentNode, childNodes) {  
            if (!childNodes) return null;  
            for (var i=0, l=childNodes.length; i<l; i++) {  
                childNodes[i].name = childNodes[i].name.replace('','');  
            }  
            return childNodes;  
        }  
        
        function beforeClick(treeId,treeNode){
        	if(!treeNode.isParent){
        		alert("请选择父节点");
        		return false;
        	}else{
        		return true;
        	}
        }
        
        function zTreeOnAsyncError(event, treeId, treeNode){  
            alert("异步加载失败!");  
        }  
        
        function zTreeOnAsyncSuccess(event, treeId, treeNode, msg){  
        	
        }
        
        /***********************当你点击父节点是,会异步访问servlet,把id传过去*****************************/
        var zNodes=[];
/*        var zNodes =[  
            { id:1, pId:0, name:"parentNode 1", open:true},  
            { id:11, pId:1, name:"parentNode 11"},  
            { id:111, pId:11, name:"leafNode 111"},  
            { id:112, pId:11, name:"leafNode 112"},  
            { id:113, pId:11, name:"leafNode 113"},  
            { id:114, pId:11, name:"leafNode 114"},  
            { id:12, pId:1, name:"parentNode 12"},  
            { id:121, pId:12, name:"leafNode 121"},  
            { id:122, pId:12, name:"leafNode 122"},  
            { id:123, pId:12, name:"leafNode 123"},  
            { id:13, pId:1, name:"parentNode 13", isParent:true},  
            { id:2, pId:0, name:"parentNode 2", isParent:true}  
        ];  */
  
        $(document).ready(function(){  
            $.fn.zTree.init($("#treeDemo"), setting, zNodes);  
        });  

得到zTree对象 :var zTree = $.fn.zTree.getZTreeObj("treeDemo"),


ZtreeServlet

package org.hzy.servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.hzy.bean.ZtreeBean;

import com.alibaba.fastjson.JSON;

public class ZTreeSerlvet extends HttpServlet {

	public void destroy() {
		super.destroy();
	}

	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println(request.getParameter("id") + "  " + request.getParameter("name") + "   " + request.getParameter("otherParam"));
		response.setCharacterEncoding("UTF-8");
		PrintWriter out = response.getWriter();
		ZtreeBean zb = new ZtreeBean(0, -1, "zb", true);
		ZtreeBean zb1 = new ZtreeBean(1, 0, "zb1", true);
		ZtreeBean zb2 = new ZtreeBean(2, 1, "zb2", false);
		ZtreeBean zb3 = new ZtreeBean(2, 0, "zbss", true);
		List<ZtreeBean> list = new ArrayList<ZtreeBean>();
		list.add(zb);
		list.add(zb1);
		list.add(zb2);
		list.add(zb3);
		String str = JSON.toJSONString(list);
		out.print(str);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

	public void init() throws ServletException {
	}

}


分享到:
评论

相关推荐

    jquery ztree 异步动态加载

    以下是一个简单的ZTree异步加载示例: ```javascript $(function() { var setting = { async: { enable: true, url: "/getNodes", type: "post", autoParam: ["id"], otherParam: {"type": "async"} }, ...

    jquery zTree异步加载简单实例分享

    知识点四:zTree异步加载的关键配置项 1. enable属性:设置为true以启用异步加载功能。 2. url属性:指定服务器端servlet的路径,用于获取异步加载的数据。 3. autoParam属性:自动传递给服务器的参数名称列表,这里...

    jquery zTree异步加载简单实例讲解

    在本文中,我们将深入探讨jQuery库的一个扩展插件——zTree的异步加载功能。zTree是一款基于jQuery的树形控件,它提供了丰富的交互效果和灵活的数据处理方式。异步加载是zTree的一项重要特性,它使得大量数据的展现...

    jQuery zTree 异步加载添加子节点重复问题

    在解决jQuery zTree异步加载添加子节点时出现的重复问题之前,我们首先需要理解zTree树插件的基本特性和其工作原理。zTree是一个基于jQuery的树形控件,它支持多功能的树形结构展示,并且可以轻松实现节点的增删改查...

    jquery zTree异步加载、模糊搜索简单实例分享

    **总结**,jQuery zTree通过异步加载优化了大型数据集的展示,提高了页面性能,同时模糊搜索功能提供了便捷的节点查找体验。通过灵活地配置`setting`对象和利用各种回调函数,开发者可以根据实际需求定制zTree的功能...

    zTree异步加载Demo

    【zTree异步加载Demo】是一个基于SpringMVC框架和MySQL数据库实现的示例,它展示了如何使用zTree这一流行的JavaScript树形插件进行异步数据加载。zTree是一款功能强大的jQuery插件,广泛用于构建多级目录结构,如...

    JQuery ztree 异步加载实例讲解

    本文将详细讲解JQuery zTree的异步加载实例。 首先,为了实现异步加载,我们需要做以下准备工作: 1. **下载JQuery ZTree**:访问官方或者其他可信源下载ZTree的JS和CSS文件。通常只需要引入核心的JS和CSS即可,...

    JQuery zTree源码以及示例

    3. **异步加载**:对于大型数据集,zTree支持按需加载数据,提高页面性能。 4. **事件处理**:zTree提供了一系列事件,如`onCheck`、`onClick`、`onExpand`等,允许开发者监听并响应用户的操作。 5. **节点属性**:...

    jquery ztree学习文档

    4、支持一次性静态生成 和 Ajax 异步加载 两种方式 5、支持多种事件响应及反馈 6、支持 Tree 的节点移动、编辑、删除 7、支持极其灵活的 checkbox & radio 选择功能 8、支持任意更换皮肤 / 个性化图标...

    JQuery zTree asp.net实例

    **jQuery zTree ASP.NET 实例详解** 在Web开发中,我们常常需要展示层次结构的数据,例如组织架构、文件目录等,这时Tree控件就显得尤为重要。`jQuery zTree`是一款非常流行的JavaScript Tree插件,它提供了丰富的...

    JQuery zTree

    4. **事件监听**:zTree 支持多种事件回调,如 `onCheck`(节点被勾选或取消时触发)、`onClick`(节点被点击时触发)、`onAsyncSuccess`(异步加载成功时触发)等,开发者可以通过这些事件来实现自定义逻辑。...

    jquery ztree示例

    一个简单的zTree实例通常会涉及以下步骤: 1. 在HTML中创建一个`&lt;ul&gt;`元素作为树节点容器。 2. 引入jQuery和zTree的JavaScript文件。 3. 使用JavaScript初始化zTree,设置必要的配置项,如数据源、节点样式等。 4. ...

    jQuery ztreedemo

    通过以上分析,我们可以看出 `jQuery ztreedemo` 涉及到前端开发的多个核心方面,包括 DOM 操作、事件处理、数据交互和UI设计,它是 Web 开发中一个典型的实例,帮助开发者学习和理解如何在实际项目中运用这些技术。

    Jquery zTree 树控件异步加载操作

    zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE、FireFox、Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 支持 JSON 数据 支持一次性静态生成 和 Ajax 异步加载 ...

    JQuery zTree v2.6

    5. **优化的性能**:在处理大量数据时,zTree通过异步加载和分页策略,降低了内存占用和渲染时间。 6. **兼容性良好**:zTree与各种主流浏览器(如Chrome、Firefox、IE等)兼容,并且与jQuery的其他插件协同工作...

    不同的jqueryztree

    在"不同的jqueryztree"这个主题中,我们将深入探讨ZTree的多样性和其API的使用。 首先,ZTree 提供了多种类型的树结构,如单选树、多选树、异步加载树等,可以根据项目需求选择合适的类型。例如,单选树适用于需要...

    JQuery zTree v3.4 ztree

    8. **异步加载**:对于大数据量的场景,zTree 提供了异步加载机制,只在需要时加载子节点,显著提升了用户体验。 9. **演示示例**:在 `demo` 文件夹中,包含了各种应用场景的示例代码,可以帮助开发者快速上手。 ...

Global site tag (gtag.js) - Google Analytics