在setting里面设置onclick事件 function zTreeOnClick(event, treeId, treeNode) { alert(treeNode.tId + ", " + treeNode.name); }; var setting = { callback: { onClick: zTreeOnClick } };
java后台实现类代码:
public void deal(JWRequest request, JWResponse response) throws ErrorCodeException { // TODO Auto-generated method stub String action = request.getAction(); if ("getVipByStatus".equalsIgnoreCase(action)) { getVipLists(request, response); } } private void getVipLists(JWRequest request, JWResponse response) { VipExample example = new VipExample(); List<Vip> vipList = this.vipDao.selectByExample(example); // String s=vipList.toString(); // System.out.println(s); // 转换成ztree格式 JSONArray ztreeNodes = new JSONArray(); JSONObject json = new JSONObject(); json.put("id", 0); json.put("pId", -1); json.put("name", "所有会员"); json.put("open", true); json.put("icon", "web/images/sm_role.png"); ztreeNodes.add(json); for (Vip user: vipList) { json = new JSONObject(); json.put("id", user.getWxid()); json.put("pId", "0"); json.put("name", user.getName()); json.put("icon", "web/images/sm_user.png"); json.put("mobile", user.getMobile()); json.put("birthday", user.getBirthday()); json.put("image", user.getImage()); json.put("cash", user.getCash()); json.put("updatetime", user.getUpdatetime()); ztreeNodes.add(json); } JSONObject resData = new JSONObject(); resData.put("ztreeNodes", ztreeNodes); response.setData(resData); }
ztree设置节点checked,选中某节点等相关操作
1、根据id获取树的某个节点:
var zTree = $.fn.zTree.getZTreeObj("mytree");
var node = zTree.getNodeByParam("id",1);
2、设置node节点选中状态:
zTree.selectNode(node);
3、设置node节点checked选中,有两种方法实现:
(1)、zTree.checkNode(node, true, true);
(2)、node.checked = true;
zTree.updateNode(node); //注:设置checked属性之后,一定要更新该节点,否则会出现只有鼠标滑过的时候节点才被选中的情况
4、获取树的根节点:
var nodes = zTree.getNodes();
var pnode = nodes[0]; //注:只有当树的根节点只有一个时,才可以这样取,否则会获取到多个节点
5、ztree获取选中节点的子节点的方法://该方法参考自:http://my.oschina.net/webas/blog/110295,本人还未测试。。
var nodes = zTree.getSelectedNodes();
var treeNode = nodes[0];
var treeNodeP = treeNode.parentTId ? treeNode.getParentNode():null;
for(var i=0;i<treeNode.children.length;i++) {
var childNode = treeNode.children[i];
alert('childNode.name: '+childNode.name);
}
6、递归获取各级父节点##
function getFilePath(treeObj){
if(treeObj==null)return "";
var filename = treeObj.name;
var pNode = treeObj.getParentNode();
if(pNode!=null){
filename = getFilePath(pNode) +"->"+ filename;
}
return filename;
}
注意:本文归作者所有,未经作者允许,不得转载