jstree open_node 不能在子节点上工作
jstree open_node not working on child nodes
当我的复选框 jstree 完成加载时,我希望预先打开最后打开的节点(不是 select_node
)。 open_node
函数似乎只适用于最顶层的父级节点。我什至尝试遍历节点并调用 open_node
但它仍然不起作用。我有以下内容:
// Create instance for checkbox jstree.
$(function () {
$('#myTree').jstree({
"core": {
"themes": {
'name': 'default',
"variant": "small",
"icons": false
},
},
"checkbox": {
"keep_selected_style": false,
"three_state": false,
},
"plugins": ["checkbox"]
});
});
$("#myTree").bind('ready.jstree', function (event, data) {
var $tree = $(this);
$($tree.jstree().get_json($tree, {
"flat": true
})).each(function (index, value) {
// lastOpenedNode.value contains the id of the last opened node
if ( nodeWasLastOpened(this.id) == true)
// ONLY OPENS TOP MOST PARENT NODES
$("#myTree").jstree().open_node(this.id);
})
});
请帮忙。
您可以使用一种私有方法 _open_to
,它会打开所有节点,直至您要显示的节点。检查下面的代码和演示 - Fiddle.
$("#myTree").jstree()._open_to( lastOpenedNode.value );
或
if ( nodeWasLastOpened(this.id) )
$("#myTree").jstree()._open_to( this.id );
})
当我的复选框 jstree 完成加载时,我希望预先打开最后打开的节点(不是 select_node
)。 open_node
函数似乎只适用于最顶层的父级节点。我什至尝试遍历节点并调用 open_node
但它仍然不起作用。我有以下内容:
// Create instance for checkbox jstree.
$(function () {
$('#myTree').jstree({
"core": {
"themes": {
'name': 'default',
"variant": "small",
"icons": false
},
},
"checkbox": {
"keep_selected_style": false,
"three_state": false,
},
"plugins": ["checkbox"]
});
});
$("#myTree").bind('ready.jstree', function (event, data) {
var $tree = $(this);
$($tree.jstree().get_json($tree, {
"flat": true
})).each(function (index, value) {
// lastOpenedNode.value contains the id of the last opened node
if ( nodeWasLastOpened(this.id) == true)
// ONLY OPENS TOP MOST PARENT NODES
$("#myTree").jstree().open_node(this.id);
})
});
请帮忙。
您可以使用一种私有方法 _open_to
,它会打开所有节点,直至您要显示的节点。检查下面的代码和演示 - Fiddle.
$("#myTree").jstree()._open_to( lastOpenedNode.value );
或
if ( nodeWasLastOpened(this.id) )
$("#myTree").jstree()._open_to( this.id );
})