dynatree を使用しようとしていますが、次のように初期化できます。
var treeData =
[
{title: "group1", key:"182" },
{title: "group2", key:"181" },
{title: "group3", key:"189" , isFolder:true, children:
[
{title: "group3_1", key:"301" }
]
}
];
$(".groupContainer").dynatree({
checkbox: false,
selectMode: 2,
children: treeData
});
のオブジェクトには、treeData
引用符で囲まれていない名前によって参照される値があることに注意してください。
今、私はこれをしたい:
var treeData = [];
$.getJSON('/getTreeData.do', function(data){
treeData = data;
$(".groupContainer").dynatree({
checkbox: false,
selectMode: 2,
children: treeData
});
});
ただし、jquery 1.7.1 (および 1.5.2 と 1.4.2) では、treeData
fromの内容を渡すと解析エラーが発生しgetTreeData.do
ます。これは、JSON の仕様では、キーと値が文字列であり、引用符で囲まれている必要があるためだと思います。しかし、キーと値を引用すると、dynatree は「null」というラベルの付いた単一のノードを持つツリーを描画します。
これを行う方法はありますか、またはツリー データを取得した後、ダイナツリーcreateNode()
とaddNode()
関数を何度も使用する必要がありますか?
関連するメモとして、正当な JavaScript オブジェクトが正当な JSON ではないのはなぜですか?