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 (); //实例会被销毁(点击节点的事件)!!!

 

posted @ 2019-05-16 11:24  0712Y  阅读(721)  评论(0编辑  收藏  举报