我有麻烦填充div使用jstree从单独的json文件中的数据。
为了做到这一点我试图让JSON与$ .getJSON(我不知道这是要使用正确的函数),我分配的结果,而我下次使用来填充一个变量树,这是我得到的JSON文件:
var tree;
tree=$.getJSON("tree_data.json",function(data){
tree=data;
});
console.log(tree);
,这里是我使用填充jstree DIV代码:
$("#treeViewDiv").jstree({
"json_data" : tree,
"themes" : {
"theme" : "apple",
"dots" : true,
"icons" : false
},
"plugins" : [
"themes", "json_data", "ui"
]
}).bind("select_node.jstree", function(e, data)
{
if(jQuery.data(data.rslt.obj[0], "href"))
{
window.location=jQuery.data(data.rslt.obj[0], "href");
}
else
{
alert("No href defined for this element");
}
});
这里是我的tree_data.json文件,该文件包含t他的数据我试图填充树:
{
"data":[
{
"data" : "Search engines",
"children" :[
{"data":{"title":"Yahoo", "icon":"./themes/file.png"}, "metadata":{"href":"http://www.yahoo.com"}},
{"data":"Bing", "metadata":{"href":"http://www.bing.com"}},
{"data":"Google", "children":[{"data":"Youtube", "metadata":{"href":"http://youtube.com"}},{"data":"Gmail", "metadata":{"href":"http://www.gmail.com"}},{"data":"Orkut","metadata":{"href":"http://www.orkut.com"}}], "metadata" : {"href":"http://youtube.com"}}
],
"state" : "open"
},
{
"data" : "Networking sites",
"children" :[
{"data":"Facebook", "metadata":{"href":"http://www.fb.com"}},
{"data":"Twitter", "metadata":{"href":"http://twitter.com"}}
]
}
]
}
由于我的代码的结果我有jstree的开始,只有一个跨度内它“加载”的文字,所以我猜测数据有麻烦加载。 这里是它的样子:
我到底做错了什么?有任何想法吗? 谢谢你的时间。
里面我不明白你是什么意思“的数据是在回调”的意思。看起来树是正确定义的。请检查刚刚添加的结果的图像。 – Hosni
回调是第二个参数。 $ .getJSON将url(“tree_data.json”)加载到'data'中。该数据在回调中被分配给'tree',而不是作为返回值。 – Owlvark