您的位置:首页 > 其它

ztree使用

2017-09-15 15:12 127 查看
ztree的包,有用的是query.ztree.all-3.5.js,这里的all是表示全部功能,包括增删改查,core只有基础功能导入的css   zTreeStyle.css这个插件比较简单,要用就直接,直接把官方的html拿来就能用这里的文件路径就是要找的html这个Ztree 有两种数据加载模式:标准加载 简单加载一般用简单加载,简单加载格式{“id”:1,name:2:pid:3}基本是这样,但是要实现连续添加,本来是根目录,添加变成不是,这样就要加

reAsyncChildNodes

方法后台的实现,先获得所有数据Ztree自动加载如果添加数据,那就用,传参,用reasynchildnodes ,重新用ajax传回去,用查询父类的方法,不是查询本身id,这样就他就会加载子类,而不是父类,后台实现 注意这里是if语句
@Override
public List<ZTreeNode> getDeptPAll(String id) {
DeptPQuery query = new DeptPQuery();
if(id !=null){
query.or().andStateEqualTo(1).andParentIdEqualTo(id);
}else{
query.createCriteria().andStateEqualTo(1);
}
List<ZTreeNode> ZTlist = new ArrayList<ZTreeNode>();
List<DeptP> list = deptPDao.selectByExample(query);
for (DeptP deptP : list) {
ZTreeNode zTreeNode = new ZTreeNode();
zTreeNode.setId(deptP.getDeptId());
zTreeNode.setName(deptP.getDeptName());
zTreeNode.setpId(deptP.getParentId());
zTreeNode.setIsParent(deptP.getIsParent()?"true":"false");
ZTlist.add(zTreeNode);
}
return ZTlist;
}
function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if (treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0) return;
var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
+ "' title='add node' onfocus='this.blur();'></span>";
sObj.after(addStr);
var btn = $("#addBtn_"+treeNode.tId);
if (btn) btn.bind("click", function(){
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.addNodes(treeNode, {id:(treeNode.id + newCount), pId:treeNode.id, name:"new node" + (newCount++)});
$.post("/deptPCreate.html", {id:(treeNode.id+ newCount), pId:treeNode.id, name:"new node" + (newCount++)},function(res){
zTree.reAsyncChildNodes(treeNode, "refresh");
})
return false;
});
};
在ajax成功后回调
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: