【发布时间】:2019-03-15 17:56:54
【问题描述】:
我有一个 jstree 元素,当在 init_hpotree() 初始化时,它从名为 hpo_json 的 json 数组加载数据。然后在特定按钮上单击我将 json 数组 (hpo_json) 传递给 ajax 调用,接收更新后的数组,然后重新初始化 jstree。一切正常。
hpo_json = [...]
function init_hpotree() {
jstree_hpo = $('#jstree_hpo').jstree({
'core' : {
'data' : [hpo_json]
}
});
}
function destroy_hpotree() {
$("#jstree_hpo").jstree("destroy");
}
$('button.btnAdd').click(() => {
destroy_hpotree();
ajax_call(hpo_json) -> update -> hpo_json
init_hpotree();
});
但我还需要更新 json 数组 (hpo_json) 的内容,并在单击特定节点时展开树。所以我编辑了我的初始化函数如下:
function init_hpotree() {
jstree_hpo = $('#jstree_hpo')
.on('load_node.jstree', function(e, data) {
ajax call -> update -> hpo_json
})
.jstree({
'core' : {
'data' : [hpo_json]
}
});
}
hpo_json 数组已更新,但我不确定如何刷新树。一些SO 答案建议使用tree.jstree("refresh"),但我不确定具体在哪里。仅供参考,我使用的是jsTree - v3.3.7。
【问题讨论】:
标签: javascript jquery json jstree