JStree没有加载

时间:2016-04-08 09:30:23

标签: jstree

我有以下代码加载jstree。但是jstree永远不会被加载。

$("#div").jstree({    
        'json_data': {    
            'ajax': {    
                 'url': ajaxUrl,    
                  'type': 'GET',    
                  'data': function(data) {    
                   },
            }
        }
    });

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

您没有显示完整代码或源json数据的样子。但这里是一个使用ajax源代码内容加载jstree的示例。

$(function () {
$.ajaxSetup({cache:false});
$("#jsonDemo").jstree({         
    "plugins" : [ 
        "themes","json_data", "ui"
    ],

    // This example uses JSON as it is most common
    "json_data" : { 
        "data" : [{"attr":{"id":"1204","isLast":"false","name":"A Node"},
                      "data":"A Node",
                     "metadata":{"id":"1204","isLast":"false","name":"A Node"},
                      "state":"closed"},
                  {"attr":{"id":"1205","isLast":"true","name":"B Node"},
                    "data":"B Node",
                    "metadata":{"id":"1205","isLast":"true","name":"B Node"},
                    "state":"close"}
                 ],
        "ajax" : { "url" : "./_demo/_tree_json.json",
                         "data": function (n){
                            return{
                                //set the url request param,multi param separate by ,
                                    "parentId" : n.attr ? n.attr("id") : "null",
                                    "name":  n.attr ? n.attr("name") : "null"
                            };
                    }
         }
    },  
   "themes" : {
         "theme" : "classic", //apple,default,if in ie6 recommented you use classic
         "dots" : true,
         "icons" : true
   }

})
.bind("select_node.jstree",function(event,data){  
        if("true" == data.rslt.obj.attr("isLast")){ 
             //get the attrs data you set in the attrs field;
            alert(data.rslt.obj.attr("id")+data.rslt.obj.attr("isLast"));
            //you can do something here...
        }else{
            //toggle node refer to the id setted in the metadata
            //get the metadata id field value : jQuery.data(data.rslt.obj[0], "id");
            //The metadata id value should be different to each other !!!
            //otherwise, the toggle_node will work incorrect !!!
            $("#jsonDemo").jstree("toggle_node","#"+jQuery.data(data.rslt.obj[0], "id"));
        }    
})
// prevent the default event of the link 
.delegate("a", "click", function (event, data) { event.preventDefault(); })
;
});