2017-01-12 16 views
0

jsTreeをページに実装するのに問題はありません。jsTreeがIDでノードを見つけることができません

私は様々なサイトで非常に多くの提案とはまったく異なるものを試しました。

$('#myTree').jstree({ 
.... 
}) 
.on('loaded.jstree', function (e, dta) { 
    var t = $('#myTree').jstree(true); 
    var n = t.get_node("myIDstring"); 
    console.log(t); 
    console.log(n); 
}); 

この記事の前の最後の試みは、上記のように.on(loaded.jstree)コールバックを試してみることでした。しかし、ノードを取得しようとしたところから何の違いもありませんでした。常に同じ結果。

console.log(t)は私にツリーがあることを証明します。この場合、私は子供の数が217人です。

"myIDstring"はconsole.logのjavascriptコンソールでドリルダウンしたノードのid属性からカットアンドペーストされていますt)エコー。

console.log(n);エコーは「偽」です。

私がt.find()を試してみると、find()はコンソールに関数エラーではありません。

van n = $( '#myTree')。jstree(true).get_node( "myIDstring"); はvar n = t.get_node()と全く同じに失敗します。

ありがとうございました。

PS:はい。私はちょうど私たちと同様にdtaの価値を知ることができることを知っています。しかし、私の目標は、.no( 'loaded.jstree')の内部からこのコードを使用しないことです。

答えて

2

loaded.jstreeは、ルートノードがロードされているときに起動されます。以下のように、ready.jstreeイベントを使用してください。デモもチェックしてください - Fiddle Demo

$('#myTree') 
.jstree({ 
    ... 
}) 
.on('ready.jstree', function(){  
    var t = $('#myTree').jstree(true); 
    var n = t.get_node("myIDstring"); 
    console.log(t); 
    console.log(n); 
} 
+0

私がそれを理解したら – Steve