使用Ztree出现的问题

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 这样才能传递到后台

你可能感兴趣的:(java开发)