在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;
}
注意:本文归作者所有,未经作者允许,不得转载