JsTreeを使用してファイルツリー(Webアプリケーション用)を構築しようとしています。jsTreeを埋め込むためにJavaScriptで配列を作成する
レベル1:dimension
レベル2:hierarchie
(dimension
の子)
レベル3:niveau, Ordre_niveau = 1
(hierarchie
の子
私は異なるレベルを有します)
レベルn:niveau, Ordre_niveau = n
(niveau ordre (n-1)
の子)
私はdimension
とhierarchie
を埋めることに成功したが、ordre
の情報がniveau
の情報と同じオブジェクトであるため、すべての私のniveau
は同じレベルにあります。ここで
は私のコードです:
var jsTreeData = [];
//"dimensions"
for (var i = 0; i < dimension.length; i++) {
jsTreeData.push({
'text': dimension[i].dimension_Nom_dimension,
'type': 'dimension',
'data': dimension[i],
'children': []
});
//"hiérarchies"
var x = -1;
for (var j = 0; j < hierarchie.length; j++) {
if (hierarchie[j].dimension_Dimension_id == jsTreeData[i].data.dimension_Dimension_id) {
jsTreeData[i].children.push({
'text': hierarchie[j].hierarchie_Nom_hierarchie,
'type': 'hierarchie',
'data': hierarchie[j],
'children': []
});
x = x + 1;
//"niveaux"
for (var k = 0; k < niveau.length && x < (jsTreeData[i].children.length); k++) {
for (var l = 0; l < niveau.length && x < (jsTreeData[i].children.length); l++) {
if (niveau[k].hierarchie_Hierarchie_id == jsTreeData[i].children[x].data.hierarchie_Hierarchie_id && niveau[k].niveau_Niveau_id == niveau[l].niveau_Niveau_parent_id && niveau[k].niveau_Ordre_niveau == 1 && niveau[l].niveau_Ordre_niveau == 2) {
jsTreeData[i].children[x].children.push({
'text': niveau[k].niveau_Nom_niveau,
'type': 'niveau',
'data': niveau[k],
'children': ({
jsTreeData: ({
'text': niveau[l].niveau_Nom_niveau,
'type': 'niveau',
'data': niveau[l]
})
})
});
}
}
}
}
}
}
結果は、それがプロパティのようであるなどJstree表示すべてdimension
、すべてのhierarchie
だけniveau, Ordre_niveau = 1
ないniveau, Ordre_niveau = 2
、
ということですJstreeのchildren
は動作しません。
これは役に立ちますが、ノードをJsTreeに渡す方法は2つあります。 1つはあなたが使用している子供と一緒です。 otherは、このURL https://www.jstree.com/docs/json/の代替フォーマットです。 idとparentを自分で指定しなければならないので、動作する可能性があります。 – AbhilashK
私はこのエラーが発生するたびに、 "JsTreeコードで" toString 'of undefined "プロパティを読み取ることができません:// 2)子(foreach)を入れます (i = 0、j = dat.length; i < j; i ++){\t \t \t \t \t \t \t m [dat [i] .parent.toString()]。children.push(dat [i] .id.toString()); // populate parent.children_d p.children_d.push(dat [i] .id.toString()); \t \t \t \t \t \t})理由を知っていますか? –
私は問題が何かを見ました。 「未定義」の親を持つデータが1つしかなく、この例外のコードがない場合、JsTreeはエラーを送信します。 –