我是 JS 和 JsTree 的新手。
尝试使用我的框架中的 ajax 调用构建一个 JsTree,效果很好。
现在我需要调试树中的数据,尤其是来自不同节点和根节点的 ID。我不知道我该怎么做。
实际上我有以下代码树
<script>
$(function () {
var treeid = "<?php echo Uri::segment(4); ?>";
$("#jstree").jstree({
"json_data" : {
"ajax" : {
"url" : "http://coreadmin.local/admin/metadata/service/treedata.json?id="+treeid,
"data" : function (n) {
return { id : n.attr ? n.attr("id") : 1 };
}
}
},
"plugins" : [ "themes", "json_data", "ui", "crrm", "dnd", "contextmenu" ],
"themes" : {
"theme" : "apple",
"dots" : false,
"icons" : true
},
})
.bind("select_node.jstree", function (event, data) {
// `data.rslt.obj` is the jquery extended node that was clicked
alert(data.rslt.obj.attr("id"));
})
.bind("create.jstree", function (e, data) {
$.post(
"http://coreadmin.local/admin/metadata/service/createchild",
{
// "operation" : "create_node",
"parent" : data.rslt.parent.attr("id"),
"position" : data.rslt.position,
"name" : data.rslt.name,
// "type" : data.rslt.obj.attr("rel")
},
function (r) {
if(r.status) {
$(data.rslt.obj).attr("id", r.id);
data.inst.refresh();
}
else {
$.jstree.rollback(data.rlbk);
}
}
);
});
这是我的 JSON 数据
{"data":"Bill","attr":"{ id : 1 }","children":[{"data":"Angela","attr":"{ id : 2 }"},{"data":"Ben","attr":"{ id : 3 }"},{"data":"test","attr":"{ id : 9 }"},{"data":"aa","attr":"{ id : 10 }"},{"data":"aaa","attr":"{ id : 11 }"},{"data":"eee","attr":"{ id : 12 }"},{"data":"ee2","attr":"{ id : 13 }"},{"data":"ee3","attr":"{ id : 14 }"},{"data":"ee4","attr":"{ id : 15 }"},{"data":"ee5","attr":"{ id : 17 }"}]}
通过单击一个节点,我尝试查看该节点的 ID,但这始终是“未定义的”。也许有人可以给我一个提示我做错了什么。
谢谢
凯