getZTreeObj为null情况(getCheckedNodes报错)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhang_kang_user/article/details/78273982

$.fn.zTree.getZTreeObj(“tree”);为null的原因是页面没有找到tree,所以为null;
所以getCheckedNodes时,报js错误;
我的方法就是建立一个全局变量;在tree初始化的时候,将tree对象建立赋给全局变量,则一切都ok(问题因问题而异,希望对你们有帮助)。

当然一定要引用tree的js

<script type="text/javascript" src="../../js/zTree/jquery.ztree.all.js"></script>
<script type="text/javascript" src="../../js/zTree/jquery.ztree.all.min.js"></script>

页面上就是一个div,用来存放tree的地方,简单写了就是一个div的id

<div id="bmTree" class="ztree"></div>

js中代码为

var treeObj;
function initSplxSearchDg() {
    $.ajax({
        beforeSend: function(xhr) {
            xhr.setRequestHeader('Authorization', 'Bearer ' + $.session.get("token"));
                    },
            url: url,
            type: "post",
            contentType: 'application/json;charset=utf-8',
            dataType: "json",
            data: JSON.stringify(data),
            success: function(data) {
                var setting = {
                    view: {
                        selectedMulti: true, //设置是否能够同时选中多个节点
                        showIcon: false, //设置是否显示节点图标
                    },
                    data: {
                        simpleData: {
                        enable: false
                        }
                    },
                    check: {
                        enable: true,
                        chkStyle: "checkbox",
                        chkboxType: { "Y": "ps", "N": "ps" }
                    }
                };
                var result = data.replace(/text/g, "name");
                eval("var ztreenode=" + result);
                //初始化treeid
                $.fn.zTree.init($("#bmTree"), setting, ztreenode);
                //将tree对象在tree初始化的时候建立,treeObj为全局变量
                treeObj = $.fn.zTree.getZTreeObj("bmTree");
            },
            async: false,
            error: function(er) {
                        alert(er);
                    }
    });

这样在其他方法中

//可以得到该tree对象的选中节点了。
var nodes = treeObj.getCheckedNodes(true);

猜你喜欢

转载自blog.csdn.net/zhang_kang_user/article/details/78273982