JSTreeとAjaxに奇妙な問題があります。JSツリー - select_nodeが機能しない
私は
...$.ajax({
url: 'ajaxTreeView.php?method=edit&partid='+partId,
cache: false,
success: function(tree)
{
$('#treeViewer').html(tree);
}});
...使用(UL、LI、タグで)HTMLを生成アヤックス/ PHP要求を経由して、私のツリーを生成し、使用してコードにJStreeを活性化させます
options =
{
"core": { animation: 120 },
"themes": { theme: 'corral', dots: true },
"types":
{
"types":
{
"parent": { "icon": { "image": "images/custom/Legend/node_select.png" } },
"child": { "icon": { "image": "images/custom/Legend/node_select_child.png" } },
"current": { "icon": { "image": "images/custom/Legend/node.png" } }
}
},
"plugins": [ "html_data", "types", "themes", "ui", "contextmenu", "cookies" ],
"ui": { "select_limit" : 1 },
"cookies": { "save_selected" : false }
};
$("#tree").jstree(options);
ノードを簡単に選択できないようです。私はinitially_selectを試しましたが、これはうまくいかないようで、理想的ではありません。私が使用してみました
...私は、ハイパーリンクを経由して関数を呼び出すが、私はJStreeをinitaliseした後、私はそれを呼び出す場合は動作しない場合、これは動作します
$('#tree').jstree("select_node", '#ref565', true);
。
私は警告がキックオフ前にツリーがレンダリングされていないことを... ...(このすべては、Ajaxの成功ルーチンで起こる)
$('#treeViewer').html(tree);
$("#tree").jstree(options);
alert('test');
$('#tree').jstree("select_node", '#ref565', true);
を警告を追加することからご覧ください。
私は、この作品...
$('#treeViewer').html(tree);
$("#tree").jstree(options);
setTimeout(function() {selectNode(565);},1250);
$('#tree').jstree("select_node", '#ref565', true);
... setTimeoutメソッドを追加しました。
私は明らかに愚かです。間違った構文を使用していますか?ノードを選択するために遅延を設定する必要があるのはなぜですか?
助けてください。
これは私が望んでいただけで何ですが、私はいくつかのグーグル後.bindで始まるコードの多くを参照してください。私は愚かである、これは私が書くべきであることを意味するか... $( '#tree')jstree.bind( "loaded.jstree"、function(event、data){ $( '#tree' ).jstree( "select_node"、 '#ref565'、true); }); もしそうなら、それは私のために働いていません。 –
イベントをバインドする方法を示す私の例を更新しました。コーディングエラーのため何かがうまくいかない場合は、デバッガを使って理解してください。 –
ありがとうございます。これらのイベントを理解するのがはるかに簡単であることがわかっています。ツリーのインスタンス化時に事前バインディングできることがわかりました。素晴らしい例、歓声:) –