首页 > 代码库 > 【JSTREE】异步加载json节点数据004

【JSTREE】异步加载json节点数据004

技术分享
$("#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上有
View Code

 

【JSTREE】异步加载json节点数据004