jstree 异步加载json节点数据

末鹿安然 提交于 2019-12-04 21:37:10
$("#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上有

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!