现在的位置: 首页 > 综合 > 正文

zTree框架添加节点示例

2018年02月01日 ⁄ 综合 ⁄ 共 992字 ⁄ 字号 评论关闭

    今天写web的代码卡在这里一个多小时,总结一下。

    zTree的addNodes(parentNode, newNodes, isSilent)方法的参数说明太具迷惑性了。如图:


     于是我认为这个地方用的是json串,可能是后台代码写太多了,思维定势吧。用JSON.stringify()方法把父节点对象和子节点对象序列化之后,再传入addNodes()方法,提示表达式格式有误。我以为是我的json化方法用错了,然后自己拼接json化,各种修改,还是不行。

     百思不得其解,只好找来用过这个插件的同事帮忙。

     首先,这里的JSON,是JSON对象,不能是JSON串,在js里面,一个JSON串用type of 操作符得到的是“string”类型,而操作JSON对象,得到的则是一个“object”类型。这是本质区别。头两个参数的数据类型都不是JSON串,全部是JSON对象。第二,parentNode这个参数不是普通的JSON对象,必须是zTree对象的方法获取的zTree框架已经定制好的对象类型。这一点这个zTree的示例给的一点都不清楚,addNodes方法的两个添加示例的parentNode参数竟然都是null。。。。。。完全不考虑第一次用这个插件API用户的感受。

     我写的添加节点的代码,仅供参考:

function ZtreeNode(id, pId, name) {//定义ztree的节点类
	this.id = id;
	this.pId = pId;
	this.name = name;
}
var orgId = $(text).attr("data-tt-org-id"); var parentOrgId = $("input[name='jo.fid']").val();
var name = $("#groupName").val();
var childZNode = new ZtreeNode(orgId, parentOrgId, name); //构造子节点
var treeObj = $.fn.zTree.getZTreeObj("orgTree");//获取ztree对象
var parentZNode = treeObj.getNodeByParam("id", parentOrgId, null); //获取父节点
treeObj.addNodes(parentZNode, childZNode, true);

抱歉!评论已关闭.