关于Ztree的一些使用心得
来源:互联网 发布:逆战刷枪软件源码 编辑:程序博客网 时间:2024/05/22 15:02
现在基本上每个网页都得用到tree,由于Ztree是中国人写的,所以中文文档比较齐全,基本的一些应用需求都能到文档上找到答案,这段时间使用Ztree做过一些简单应用,总结一下一些常用的使用方法,直接在前端写数据的形式文档上已经很全了,这里主要讲一下从后端获取数据到tree上
通过AJAX从后台拿到对应数据,并将tree初始化
$(function(){ //查询所有的菜单信息 $.ajax({ type:'post', url: "${ctx}/notify/getData", success:function(result){ var setting = { check: { enable: true }, data: { simpleData: { enable: true } }, chkboxType: { "Y": "p", "N": "s" } }; eval("var ztreenode="+result); $.fn.zTree.init($("#tree"),setting,ztreenode); } }); });
前端获取选择的所有父节点,子节点
var s_child="",s_parent=""; var treeObj = $.fn.zTree.getZTreeObj("tree");//树控件 var content=$("#content").val(); var flag=$("#flag").val(); var nodes = treeObj.getCheckedNodes(true);//获取所有选择的节点 if(nodes.length==0){ alert("请选择人员"); }else if(content==null || content==""){ alert("请输入通知内容"); }else if(nodes.length!=0 & content!=null & content!=""){ for(var i=0;i<nodes.length;i++){ if(nodes[i].isParent){ s_parent+=nodes[i].id+",";//父节点 }else{ s_child+=nodes[i].id+",";//子节点 } }
后端写了一个tree的实体类,专门用来处理tree类型的数据
public class DeptEmployeeTree { private Integer id; private Integer pId; private String name; private String icon; public String getIcon() { return icon; } public void setIcon(String icon) { this.icon = icon; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getpId() { return pId; } public void setpId(Integer pId) { this.pId = pId; } public String getName() { return name; } public void setName(String name) { this.name = name; }}
如果需要对tree进行更为详细的一些设置,自己添加相对应的tree的属性,一定要有 id ,pid,name
List<Dept> depts=deptService.findAllDept(); //从数据库中获取所有部门List<Employee>employees=employeeService.findAllEmployees();//获取所有雇员List<DeptEmployeeTree> list=new ArrayList<>(); //DeptEmployeeTree这个是对应的Tree实体 int k=0; for (int i = 0; i < depts.size(); i++) { DeptEmployeeTree tree=new DeptEmployeeTree(); tree.setId(depts.get(i).getId()); tree.setpId(0); tree.setIcon("/chrm/images/dept.gif");//自定义Tree图标 tree.setName(depts.get(i).getName()); if (k<depts.get(i).getId()) { k=depts.get(i).getId(); } list.add(tree); } for (int j = 0; j < employees.size(); j++) { DeptEmployeeTree tree=new DeptEmployeeTree(); tree.setId(employees.get(j).getId()+k); tree.setpId(employees.get(j).getDept().getId()); tree.setIcon("/chrm/images/person.gif"); tree.setName(employees.get(j).getName()); list.add(tree); } Gson gson =new Gson(); String zNodes=gson.toJson(list); return zNodes;
关于上面的K,因为我数据库中设置的是自增的ID,所以俩个表的ID有可能回相同,部门为父节点,人员为子节点,为了使ID不冲突,我设置了K取得本次查询的部门的最大ID,然后人员那边在加上这个最大ID,解决冲突,后续处理前台传过来的数据时,多传一个K值,然后记得减掉就行了,Icon属性为图标属性,这边可以设置为自己的图标,具体实现效果图:
阅读全文
1 0
- 关于Ztree的一些使用心得
- 使用ztree的心得
- 关于zTree的使用
- zTree使用的一些经验
- 关于zTree的使用总结
- 关于zTree插件的使用
- zTree使用心得
- zTree使用心得
- zTree使用心得
- ztree使用心得
- 关于zTree的使用心得以及相关的JS技术总结
- 一些关于Liferay的使用心得
- 一些关于Liferay的使用心得
- 一些关于Liferay的使用心得
- 关于biweb cms 的一些使用心得
- 关于正则表达式使用的一些心得
- 关于TraceView的一些使用心得
- 关于虚拟机vmware使用的一些心得
- POJ
- C++拷贝构造函数详解
- Android -support annotation
- PHP7.0微信公众平台开发5: 实例二:获取用户列表
- 【Android】判断当前手机是否有虚拟按键
- 关于Ztree的一些使用心得
- 定时任务调度工具之Timer(一)
- 如何学习php
- 【慕课网_性能优化之MySQL优化_学习】【01】
- 设计模式之MVP模式
- hdu1014 Uniform Generator
- centos7安装Apache虚拟主机
- Linux查看CPU和内存(一)----top命令
- R----kmeans