1

jqtree docs中,它说您可以向数据添加自定义属性:

您还可以在对象中包含其他数据。您可以稍后访问此数据。例如,要添加一个 id:

{
    label: 'node1',
    id: 1
}

我正在向它发送如下所示的 JSON:

[
  {
    "label": "foo",
    "id": "12115",
    "children": [
      {
        "label": "bar",
        "id": "15273",
        "children": []
      },
      {
        "label": "bin",
        "id": "15288",
        "children": []
      },
      {
        "label": "baz",
        "id": "33263",
        "children": []
      }
    ]
  }
]

我正在这样实现它:

$(this).tree({
    dataUrl: 'http://my/server/url/',
    autoOpen: true,
    dragAndDrop: false
});

树显示得很好,但它不会以我能确定的任何方式传递“id”字段。我做错了什么,还是不再支持该功能?

4

1 回答 1

3

Jqtree 不会向 html 添加 id 属性。它确实在内部存储了 id 属性。

您可以使用getNodeById函数访问内部节点。

var node = $(this).tree('getNodeById', '15273');
console.log(node.name);
console.log(node.id);

如果要将 id 属性添加到 html,可以使用onCreateLi选项。另请参阅此示例

于 2013-09-17T09:42:32.637 回答