listdata を JS オブジェクト リテラルに取得しようとしています。
出力は次のようになります。
dp.resources = [
{ name: "Room A", id: "A", expanded: true, children:[
{ name : "Room A.1", id : "A.1" },
{ name : "Room A.2", id : "A.2" }
]
},
{ name: "Room B", id: "B" },
{ name: "Room C", id: "C" },
{ name: "Room D", id: "D" },
{ name: "Room E", id: "E" },
{ name: "Room F", id: "F" },
{ name: "Room G", id: "G" },
{ name: "Room H", id: "H" },
{ name: "Room I", id: "I" },
{ name: "Room J", id: "J" },
{ name: "Room K", id: "K" },
];
このjqueryコードを使用してメインルームをロードしています:
dp.resources = [];
serviceUrl = "../_vti_bin/listdata.svc/Rooms()?$orderby=Order asc";
$.getJSON(serviceUrl, function(results) {
$.each(results.d.results, function(i, item) {
dp.resources.push({name:item.Title, id:item.Id, expanded: true, dynamicChildren: true});
}); // end each
dp.update();
では、子 (B.1 など) を別のリストから取得し、dp.resources の正しい場所にプッシュするにはどうすればよいでしょうか? スクリプトの上記の $.each 部分にネストすることをお勧めします...