代码之家  ›  专栏  ›  技术社区  ›  Greg

获取JSTree的JSON数据,它是元数据

  •  7
  • Greg  · 技术社区  · 14 年前

    var data = currentNode.data("jstree");
    data.title = textBoxTitle.val();
    data.linkType = textBoxLink.val();
    

    我可以看到 data 对象包含相关属性,但不太确定jquery在此之后将关联数据保存在何处。

    var json = jQuery.jstree._reference(tree).get_json();
    var jsonString = JSON.stringify(json);
    

    json 对象没有描述元数据的属性。

    提前谢谢你,

    • 格雷格。
    2 回复  |  直到 14 年前
        1
  •  9
  •   Daniel Mendel    12 年前

    简单地阅读文档,在我看来,您应该使用节点上的属性来存储元数据。你可以使用HTML5的“数据”属性:

    currentNode.attr('data-title', textBoxTitle.val());
    currentNode.attr('data-link-type', textBoxLink.val());
    

    那么当你做 .get_json() 从树上你可以告诉它你想要什么属性:

    var json = jQuery.jstree._reference(tree).get_json(-1, ['data-title', 'data-link-type', 'id', 'class']);
    

    这个 .get_json 2个 属性名列表,一个用于 <li> 节点和一个用于 <a>

        2
  •  2
  •   Kubi    9 年前

    也可以使用此命名空间

    $('#treeid').data().jstree 
    $('#treeid').data().jstree.get_json()
    

    还有其他的方法可以得到你需要的数据