首頁 >web前端 >js教程 >jquery zTree非同步載入簡單實例分享_jquery

jquery zTree非同步載入簡單實例分享_jquery

WBOY
WBOY原創
2016-05-16 17:42:141186瀏覽

首先提供Ztree官方網站http://www.ztree.me。
Ztree是一個使用jQuery實作的JSP頁面的各種功能樹,本文介紹一個非同步取得資料到下拉樹的實作方式。
目前版本Ztree 3.5.01
simple.html

複製程式碼 程式碼
複製程式碼


程式碼



程式碼



simple.html












    複製程式碼


    程式碼如下:


    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 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, tree){
    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
    複製程式碼 程式碼如下:

    包 org.hzy.servlets;
    導入java.io.IOException;
    導入java.io.PrintWriter;
    導入java.util.ArrayList;
    導入java.util.List;
    導入javax.servlet.ServletException;
    導入javax.servlet.http.HttpServlet;
    導入javax.servlet.http.HttpServletRequest;
    導入javax.servlet.http.HttpServletResponse;
    導入org.hzy.bean.ZtreeBean;
    導入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("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 = 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 {
    }
    }
    陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn