jqtree没有显示自定义属性

时间:2013-09-16 15:13:04

标签: jquery jqtree

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'字段。我做错了什么,或者是否不再支持该功能?

1 个答案:

答案 0 :(得分:3)

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

您可以使用getNodeById功能访问内部节点。

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

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