我想将动态数据插入到作为jstree的div容器中。但是,我没有任何风格或任何风格。
html = '<ul><li>Root node 1<ul><li id="child_node_1">Child node 1</li><li>Child node 2</li></ul></li><li>Root node 2</li></ul>';
$('#div_tree_content').html(html);
$('#div_tree_content').jstree('refresh');
只是说我已经按如下方式初始化了div:
$(document).ready(function(){
$('#div_tree_content').jstree();
}
在刷新中我收到错误:
TypeError: this.get_container_ul(...)[0] is undefined
答案 0 :(得分:2)
这不是jstree的工作方式 - 您无法在容器中交换HTML并期望它能够正常工作。您必须使用delete_node
,create_node
,rename_node
来修改结构或使用新数据重新创建树(如果是HTML,则需要首先销毁当前实例,添加新的HTML并重新创建实例。
还有更多高级方法可以换出数据 - 比如将core.data
设置为函数,但我怀疑你是否需要它。
以你的榜样为基础:
var html = '...';
$('#div_tree_content').jstree(true).destroy();
$('#div_tree_content').html(html);
$('#div_tree_content').jstree();