Jstree 更改内容后该如何刷新jstree的DOM结构?
- ajax获取数据的,直接
$("#tree").jstree().refresh();
- html中嵌入json格式构建的jstree,则可以手动ajax获取后,通过以下代码进行刷新设置
$("#tree").jstree().settings.core.data = managerTeam1; $("#tree").jstree().refresh(true);
以下是完整代码例子:
var managerTeam = [{ "id":"m1", "text": "M1", "children": [ {"parent": "m1", "text": "T1"}, {"parent": "m1", "text": "T2"}, {"parent": "m1", "text": "M2"}, {"parent": "m1", "text": "T3"}, { "id": "m3","parent": "m1", "text": "M3", "children": [ {"parent": "m3", "text": "T6"}, {"parent": "m3", "text": "T7"}], "state":{"opened":true}} ], "state":{"opened":true}}]; var managerTeam1 = [{ "id": "m3", "text": "M3", "children": [ {"parent": "m3", "text": "T6"}, {"parent": "m3", "text": "T7"}], "state":{"opened":true}}]; //可手动发起ajax请求获取 $("#tree") .jstree({ "core" : { "data" : managerTeam } }); $('#refresh').click( function() { $("#tree").jstree().settings.core.data = managerTeam1; $("#tree").jstree().refresh(true); })