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

首先提供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 {
}
}

时间: 2024-09-20 08:54:04

jquery zTree异步加载简单实例分享_jquery的相关文章

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

本文实例讲解了jquery zTree异步加载,分享给大家供大家参考,具体内容如下 web.xml中Servlet配置如下: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XM

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

本文实例为大家讲解了jquery zTree树插件的基本使用方法,具体内容如下 一.节点模糊搜索功能:搜索成功后,自动高亮显示并定位.展开搜索到的节点. 二.节点异步加载:1.点击展开时加载数据:2.选中节点时加载数据. 前台代码如下: <script type="text/javascript"> //ztree设置 var setting = { view: { fontCss: getFontCss }, check: { enable: true }, data:

JQuery ztree 异步加载实例讲解_jquery

本来要做一个文件目录浏览界面,需要遍历所有的文件和目录,很显然一次性读取时很费时费力的一件事情. 因此就需要做异步加载.... 准备工作: 1下载 JQuery ZTree 复制其中的JS和CSS即可,其实没必要引那么多,用什么引什么就可以. 2 需要fastJSON,用来转换JSON对象 我下载JAR包后,引入到Eclipse中总是报找不到class错误. 解决办法:把jar包放在WEB-INF/lib下即可. 代码实例: index.jsp <%@ page language="jav

Android App中实现图片异步加载的实例分享_Android

一.概述一般大量图片的加载,比如GridView实现手机的相册功能,一般会用到LruCache,线程池,任务队列等:那么异步消息处理可以用哪呢? 1.用于UI线程当Bitmap加载完成后更新ImageView 2.在图片加载类初始化时,我们会在一个子线程中维护一个Loop实例,当然子线程中也就有了MessageQueue,Looper会一直在那loop停着等待消息的到达,当有消息到达时,从任务队列按照队列调度的方式(FIFO,LIFO等),取出一个任务放入线程池中进行处理. 简易的一个流程:当需

JQuery ztree 异步加载实践

本来要做一个文件目录浏览界面,需要遍历所有的文件和目录,很显然一次性读取时很费时费力的一件事情. 因此就需要做异步加载.... 不过网上的几篇帖子还挺坑的!原始参考:JQuery异步加载实例,相对来说这篇博客还算规整! springMVC中中文乱码问题:解决办法 准备工作 1 JQuery ZTree,下载地址 复制其中的JS和CSS即可,其实没必要引那么多,用什么引什么就可以. 2 需要fastJSON,用来转换JSON对象,下载地址 我下载JAR包后,引入到Eclipse中总是报找不到cla

jQuery Ajax 异步加载显示等待效果代码分享_jquery

AJAX 全称 Asynchronous JavaScript and XML(异步的 JavaScript 和 XML).它并非一种新的技术,而是以下几种原有技术的结合体. 1) 使用CSS和XHTML来表示. 2) 使用DOM模型来交互和动态显示. 3) 使用XMLHttpRequest来和服务器进行异步通信. 4) 使用javascript来绑定和调用. 通过AJAX异步技术,可以在客户端脚本与web服务器交互数据的过程中使用XMLHttpRequest对象来完成HTTP请求(Reques

Jquery Ajax异步加载数据和Ztree自带异步加载数据

今天我们来学习Ztree异步加载数据的.我测试的全国城市数据有大概3900条.   我测试了一下Jquery 自带的$.ajax方法和Ztree的setting的async参数,性能上毫秒级别的,但是Ztree的setting的async参数性能上更好一些. 如图: Ztree的setting的async参数说明: autoParam:异步加载时需要自动提交父节点属性的参数.[setting.async.enable = true 时生效] 默认值:[ ]. 这个提交是ztree自带的一个属性的

JQuery异步加载PartialView的方法_jquery

本文实例讲述了JQuery异步加载PartialView的方法.分享给大家供大家参考,具体如下: 需求:页面上有dropdown之类的控件,当选择里面不同值的时候,下面关联的内容跟着改变. 思路:把与 dropdown关联的会改变的内容放到PartialView(ascx)里,用JQuery绑定dropdown的change事件,当选择值改变时,用JQuery ajax请求与PartialView相关的Action,得到数据后讲取到的内容覆盖原来的内容. 实现: Model 类: public

ztree异步加载设置isParent:true后没有子节点的父节点循环加载整棵树

问题描述 ztree异步加载设置isParent:true后没有子节点的父节点循环加载整棵树 问下有没有什么解决方案? 解决方案 服务器点判断没有子节点设置isParent为false不就好了? 解决方案二: 初始化setting.async.otherParam = {""zTreeIsLoad"":false}; //加载后 function onAsyncSuccess(event treeId treeNode msg){ var treeObj = $.f