1. 程式人生 > >jstree 非同步載入json節點資料

jstree 非同步載入json節點資料

$("#jqTree").jstree({ //這個例子只是一部分的功能,還有待優化的地方
            "json_data" : {
                "ajax" : {
                    "type":"get",
                    // "cache":false,
                    "url" : "請求json的url",
                    "data" : function (n) { //傳給後臺的引數
                        return { 
                            "orgid" : n.attr ? n.attr("id").replace("node_","") : 0 //這裡的orgid是我傳給後臺的引數名字
                        }; 
                    },
                    "success" : function (data) {//後臺返回的引數,由於後臺返回的引數jstree解析不了,
                        var dataArray=new Array();//所以我要拼成jstree能解析的物件陣列,然後直接return
                        $.each(data.orglist,function(i,item){
                            var JSONObj={"data" :{ "title":item.name}, 
                                        "attr" : { "id" : item.id}
                                        };
                            if(item.type!="student"){//student標識是葉子節點
                                JSONObj.state="closed";//此值是標識此節點是否有子節點的
                            }
                            dataArray.push(JSONObj);
                        });
                        return dataArray;
                    }
                }
            },
            "themes": { "theme": "default", "dots": false, "icons": false },
            "plugins" : [ "themes", "json_data", "checkbox","crrm"]
        }).delegate("a", "click", function (event, data) { event.preventDefault(); });//這句是改變節點中a標籤的默人執行 jstree的demo上有