私はjsTreeを使用していますが、これまでのところ見栄えが良いです。
私は(g1、g2、g3 ...およびk1、k2、k3のようないくつかの他のノード)のような新しいノードごとにIDが増分されるノードのリストを持っています
を使用して、ドキュメントの読み込み時に特定のノードを開くことができます
"core": {
"animation": 0,
"open_parents": true,
"initially_open": ['g1']
},
しかし、「g」で始まるが「k」ではないすべてのノードを開きたいのですが、 $(id^=g) のようなものを使用できますか?
アップデート:
ノードは、次のようなWebサービスを介して動的に作成されます
Dim oSB1 As StringBuilder = New StringBuilder
oSB1.Append(" <h5 >JSTree</h5> <div id='divtree' ><ul id='tree'> <li id='g1'><a href='#' class='usr'>1st Node</a><ul> <li><a href='#' rel='file'>1.1</a></li><li><a href='#' class='usr'>1.2</a></li><li><a href='#' class='file'>1.3</a></li></ul></li></ul><ul><li id='g2'><a href='#' class='usr'>2nd Node</a><ul> <li><a href='#' rel='file'>2.1</a></li><li><a href='#' >2.2</a></li></ul></ul> <ul><li id='k2'><a href='#' class='usr'>3rd Node</a><ul> <li><a href='#' rel='file'>3.1</a></li><li><a href='#' >3.2</a></li></ul></ul> <ul><li id='k2'><a href='#' class='usr'>4th Node</a><ul> <li><a href='#' rel='file'>4.1</a></li><li><a href='#' >4.2</a></li></ul></ul></div>")
Return oSB1.ToString
Web サービスから返されたデータは jstree に割り当てられるため、「k」ではなく「g」で始まる ID を持つノードのみを開く必要があります。上記の例ではノードが 2 つしかありませんが、 100 以上のノード。
ツリーはそのように呼ばれます
$("#G2").html(data.d);
$("#divtree").jstree(
{
"state": "open",
"animated": "slow",
"plugins": ["themes", "html_data", "ui", "crrm", "contextmenu"],
//working
"core": {
"animation": 0,
"open_parents": true,
"initially_open": ['g1']
},
"contextmenu": {
"items": function ($node) {
return {
"Create": {
"label": "Create a new Node",
"action": function (obj) {
$("#divtree").jstree("create_node", function () { alert("are you sure?") }, true);
this.create(obj);
}
},
"Rename": {
"label": "Rename Node",
"action": function (obj) {
$("#divtree").jstree("rename_node", function () { alert("you are trying to rename") }, true);
this.rename(obj);
}
},
"Delete": {
"label": "Delete Node",
"action": function (obj) {
$("#divtree").jstree("delete_node", function () { alert("Really!!?") }, true);
this.remove(obj);
}
}
};
}
}
});
彼女は ID 'g1' を持つノードのみを開きますが、私は ID 'g' で始まるすべてのノードを開きたいのですが、操作可能にする方法はありますか?