0
私はajax呼び出しからJSONデータが返される問題を抱えていますが、データをlazyLoadコールバックのdata.resultと同じに設定すると、データツリーに挿入されていません。ツリーの初期集団にノードがlazyLoadコールバックのデータで展開されない
var values = [];
//This call returns a var 'value' which contains the data I want to display.
CallToGetData(databaseTree).done(function (value) {
values = value;
var treeStruc = [];
//Grab only the necessary info needed and push each objective into an array.
for (var j = 0; j < values.length; j++) {
var obj = { title: values[j].Path, key: values[j].Id, lazy: true }; //folder: true, children: []
treeStruc.push(obj);
}
$(function() {
$("#tree").fancytree({
checkbox: true,
selectMode: 3,
source: treeStruc, //Set the array above to the source.
lazyLoad: function (event, data) {
data.result = [];
//This call returns a var 'value' which contains the data I want to display.
CallToGetData(databaseTree, data.node.title).done(function (value) {
var lazyNodeValues = [];
for (var l = 0; l < value.length; l++) {
var obj = { title: value[l].Path, key: value[l].Id, lazy: true }; //folder: true
lazyNodeValues.push(obj);
}
//Currently lazyNodeValues contains to objects that I want to display.
data.result = lazyNodeValues;//THIS ASSIGNMENT IS WHAT ISN'T WORKING.
});
},
activate: function (event, data) {
$("#statusLine").text("Active node: " + data.node);
}
});
});//End of $function
});//End of CallToGetData
、VAR「treeStruc」はこの形式を持つオブジェクトの配列が含まれています
タイトル:「私は設定値」、キー:「私同上set '、lazy:trueです。
これは完全にツリーを埋めます。遅延ロードをクリックすると、子ノードを埋めるためにさらにJSONデータを取得するための別の呼び出しが行われます。それらはまったく同じ構造を持ちますが、行をクリックすると、選択した行の下に何も表示されません。私が紛失しているものがありますか?どんな助けも素晴らしいだろう!