版权声明:本文为博主原创文章,未经博主允许不得转载。 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);