目前使用的版本为 "jstree_pre1.0 " . 为官方最新版... 在学习json作为数据源的过程中. 官方案例 http://www.jstree.com/documentation/json_data#. 出现这样一个问题:
//这是官方给出的demo , 可以绑定成功.
$(function () {
$("#demo1").jstree({
"json_data": {
"data": [
{
//直接在这里拼接了一个json
"data": "A node", "metadata": { id: 23 },
"children": ["Child 1", "A Child2"]
},
{ "attr": { "id": "li.node.id1" },
"data": { "title": "Long format demo", "attr": { "href": "#"}}
}]
},
"plugins": ["themes", "json_data", "ui"]
}).bind("select_node.jstree", function (e, data) { alert(data.rslt.obj.data("id")); });
});
//这是我自己写的,通过ajax获取json数据. //经测试.在"JstreeDo.aspx"中,可以得到正确的数据..为什么绑定不成功了? 一直显示为loading //首先可以确定一点, js代码没有写错.. 也是官方copy的.
$(function () {
$("#demo1").jstree({
"json_data": {
"ajax": {
//通过ajax获取json
"url": "JstreeDo.aspx",
"data": function (n) {
return { id: n.attr ? n.attr("id") : 0 };
}
}
},
"plugins": ["themes", "json_data"]
});
});
//这是官方给出的demo , 可以绑定成功.
$(function () {
$("#demo1").jstree({
"json_data": {
"data": [
{
//直接在这里拼接了一个json
"data": "A node", "metadata": { id: 23 },
"children": ["Child 1", "A Child2"]
},
{ "attr": { "id": "li.node.id1" },
"data": { "title": "Long format demo", "attr": { "href": "#"}}
}]
},
"plugins": ["themes", "json_data", "ui"]
}).bind("select_node.jstree", function (e, data) { alert(data.rslt.obj.data("id")); });
});
//这是我自己写的,通过ajax获取json数据. //经测试.在"JstreeDo.aspx"中,可以得到正确的数据..为什么绑定不成功了? 一直显示为loading //首先可以确定一点, js代码没有写错.. 也是官方copy的.
$(function () {
$("#demo1").jstree({
"json_data": {
"ajax": {
//通过ajax获取json
"url": "JstreeDo.aspx",
"data": function (n) {
return { id: n.attr ? n.attr("id") : 0 };
}
}
},
"plugins": ["themes", "json_data"]
});
});
//这段如果alert出来,会是-1,也就是root节点,具体原因不清楚
return { id: n.attr ? n.attr("id") : 0 };
我也在调查,动态加载树的问题,一直不清楚,数据格式该怎么拼。