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 は id 属性を html に追加しません。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 に答える