Gle*_*len 4 javascript jquery jstree
我有一个通过 ajax 调用从服务器填充的 jQuery jsTree。当我添加一个新节点时,我会进行 ajax 调用,然后调用 来刷新树tree.jstree("refresh")。刷新后我想选择刚刚添加的节点。不幸的是,似乎没有可以传递给此命令的回调。有什么干净的方法可以做到这一点吗?
哦,自从这篇文章发布以来已经很久了......但仍然无法在互联网上找到答案。所以经过几个小时......不不不,不是这个,想出了一个解决方案
var jsTreeId = '#jstree'; // or whatever name the jstree has
var jsTreeSelectedItemId = 5; // just an example
var selectedNode = $('#node_'+jsTreeSelectedItemId);
var parentNode = $.jstree._reference(jsTreeId)._get_parent(selectedNode);
Run Code Online (Sandbox Code Playgroud)
// 现在假设您从服务器端添加了一个新节点,您通过 ajax 调用获取了创建的节点的新 id,接下来您想要刷新树以显示它,并选择它
var newSelectId = 9; // or from ajax call
// call the refresh function, which is asnyc
$.jstree._reference(jsTreeId).refresh(parentNode);
// set the magic "to_select" variable with an array of node ids to be selected
// note: this must be set after refresh is called, otherwise won't work
$.jstree._reference(jsTreeId).data.ui.to_select = ['#node_'+newSelectId];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18138 次 |
| 最近记录: |