如何使用新的JSON数据刷新jsTree
How to refresh a jsTree with new JSON data?
我有一个文件上传元素,它在更改时扫描文件名,并做一些事情来获得有效的treeJSON
变量。当函数第二次检测到更改时,treeJSON
变量将更新,我需要更新树。
我尝试了各种方法,如refresh()
、destroy()
等,但在不重新加载页面的情况下,我无法在同一页面上构建新的树。这是一个片段,我已经包含了所有的函数,它很有效。重要的部分是使用treeJSON
input.onchange = function (e) {
// do something
};
var treeJSON = someVar;
$("#tree").jstree({
core: {
check_callback: true,
data: treeJSON,
},
});
您只需告诉jstree一次在哪里加载根(core.data)。刷新时,树将根据此内容重新填充。
我会这样做:
var treeJSON = 'originaltree';
input.onchange = function (e) {
// something
treeJSON = $.parseJSON(newtree); // if newtree is json
var tree = $('#tree').jstree(true);
tree.refresh();
}
$('#tree').jstree({
'core': {
'check_callback': true,
'data': treeJSON
}
});
或者,如果你想更具体地基于哪个节点:
$('#tree').jstree({
'core': {
'check_callback': true,
'data': function (node, cb) {
if (node.id === '#') { //Load root, will fire on first load as well as on refresh
cb.call(this, treeJSON);
}
}
}
});
相关文章:
- 如何检查Json文件更新,如果更新了,则用更新的数据刷新我的页面
- JQGrid使用服务器编辑后的更新数据刷新数据
- 如何使用新的JSON数据刷新jsTree
- jQueryAJAX将数据重新加载到DOM中,或者使用新数据刷新DOM
- 插入数据并用新数据刷新数据网格后,关闭弹出窗口
- 正在删除数据(刷新)WebGL Globe
- 使用 ajax 调用使用操作类返回的数据刷新(更新)表的各个行
- 好吗 - 使用 setInterval 进行数据刷新
- 数据表无限 + 自动数据刷新
- 模式未使用新数据刷新
- 聚合物-使用绑定数据刷新模板
- Angular如何知道应该重新应用绑定来用更新的数据刷新UI元素
- 连续添加|更新|将数据库中的数据刷新到页面而不回发
- 使用服务器端数据刷新gridx
- 在数据刷新后保留最后的Flot十字准线和图例数据
- 如何用新数据刷新剑道网格
- Ng-Grid将在数据刷新后折叠行,如何防止这种情况
- 当数据刷新时,jQuery UI手风琴不工作
- 如何在ajax网格中使用数据刷新作为触发器
- 如何在AngularJs中保持页面上的数据刷新