ztree 改变源数据 不能加载问题
思路:改变选择后 ztree数据改变结构改变一张表中查出
不同选择 ztree不同
改变事件
function selectLoad() { var html = ""; $.ajax({ url : '/system/genealogy/type', success : function(data) { //加载数据 for (var i = 0; i < data.length; i++) { html += '<option value="' + data[i].genealogyId + '">' + data[i].name + '</option>' } $(".chosen-select").append(html); $(".chosen-select").chosen({ maxHeight : 200 }); } }); //点击事件 $('.chosen-select').on('change', function(e, params) { var genealogyId = params.selected; //$.jstree.destroy (); //实例会被销毁(点击节点的事件) getTreeData(genealogyId); }); }
从后端获取ztree 加载ztree
function getTreeData(genealogyId) { $.ajax({ type : "GET", url : "/system/person/tree", data:{genealogyId:genealogyId}, success : function(tree) { console.log(tree); $('#jstree').data('jstree', false).empty(); loadTree(tree); } }); } function loadTree(tree) { $('#jstree').jstree({ 'core' : { 'data' : tree }, "plugins" : [ "search" ] }); //$('#jstree').jstree().open_all(); }
$('#jstree').data('jstree', false).empty();最重要的代码重新加载
坑:$.jstree.destroy (); //实例会被销毁(点击节点的事件)!!!