Rumah  >  Artikel  >  hujung hadapan web  >  jquery zTree异步加载简单实例分享_jquery

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

WBOY
WBOYasal
2016-05-16 17:42:141164semak imbas

首先提供Ztree官方网站http://www.ztree.me。
Ztree是一个使用jQuery实现的JSP页面的各种功能树,本文介绍一个异步获取数据到下拉树的实现方式。
当前版本Ztree 3.5.01
simple.html

复制代码 代码如下:




simple.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; ichildNodes[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 list = new ArrayList();
    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 {
    }
    }
    Kenyataan:
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn