我正在使用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

09-26 17:27