1.$不识别
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
在页面上打开F12发现被识别成了
.fn($("#treeDemo"), setting, zNodes);
而且
var zTree = $.fn.zTree.getZTreeObj("treeDemo"),
被识别成了
var zTree = .fn,
并且均会报错
解决办法 : 把$换成jQuery即可
2.取选中节点的id
可以在显示的input框后面添加一个隐藏的输入框,当选中节点的时候给显示的input框赋值同时,将id赋值给隐藏的输入框,这样提交的时候就能获取到选中节点的id。我是这样来写的:
function onClick(e, treeId, treeNode) {
var zTree = jQuery.fn.zTree.getZTreeObj("treeDemo");
nodes = zTree.getSelectedNodes();
$("#rid").val(nodes[0].id);//多加了这样一条代码 将值赋值给隐藏的input框
v = "";
nodes.sort(function compare(a,b){return a.id-b.id;});
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
var cityObj = $("#rname");
cityObj.attr("value", v);
}
3.前台接收list报错SyntaxError: Unexpected token {
后台传来list集合 前台接收报错 看看后台list是否写get set 方法 我使用SSH框架 后来新增的ztree,所以后台新增了一个list,但是没有给list get、set方法 所以前台一直报错。如果还是有问题,试试把script 标签里面写成 language=“javascript”
<script language="javascript">
var zNodes =${repositoryclasslist};
</script>
4.使用ztree 复选框类型树,获取选中的各节点信息
checkedNode = zTree.getCheckedNodes();
var jsonCheckedNode = JSON.stringify( checkedNode );//先转成json 这样才能传递到后台