我正在使用FancyTree js维护我的用户级别结构。但是提交按钮后我无法获取整个json。这是我的代码:
<script>
$("#user_tree").fancytree({
extensions: ["dnd"],
source: {
url: "/assets/json/ajax-tree-fs.json"
},
dnd: {
autoExpandMS: 400,
focusOnClick: true,
preventVoidMoves: true, // Prevent dropping nodes 'before self', etc.
preventRecursiveMoves: true, // Prevent dropping nodes on own descendants
dragStart: function(node, data) {
return true;
},
dragEnter: function(node, data) {
return true;
},
dragDrop: function(node, data) {
data.otherNode.moveTo(node, data.hitMode);
}
},
activate: function(event, data) {
},
lazyLoad: function(event, data) {
data.result = {url: "/assets/json/ajax-sub2.json"}
}
});
</script>
<input type="button" class="submit_user" />
一切正常。但是,当我尝试像这样拖放后获取生成的元素时,它不起作用。
$(document.body).on('click','.submit_user',function(){
console.log($("#user_tree").fancytree("getTree").data);
});
我从以下链接尝试了此操作:
http://wwwendt.de/tech/fancytree/demo/#sample-multi-ext.html
最佳答案
您可以将树作为嵌套对象的列表进行检索,如下所示:
var tree = $("#tree").fancytree("getTree");
data = tree.toDict()
有关详细信息,请参见此处:http://www.wwwendt.de/tech/fancytree/doc/jsdoc/Fancytree.html#toDict