基于cookie实现zTree树刷新后展开状态不变
基于cookie实现zTree树刷新后,展开状态不变。
1、除了引用jQuery和zTree的JS外,引用cookie的JS:
<scripttype="text/javascript"src="~/Scripts/jquery-treeview/lib/jquery.cookie.js"></script>
2、JS代码:
$(function(){
//ztree设置
varsetting={
data:{
simpleData:{
enable:true,
idKey:"id",
pIdKey:"pId",
rootPId:null
}
},
callback:{
onExpand:onExpand,
onCollapse:onCollapse
}
};
$.ajax({
type:"POST",
url:"/Tech/TemplateTypeManage/GetData",
success:function(data){
if(data&&data.length!=0){
$.fn.zTree.init($("#tree"),setting,data);
vartreeObj=$.fn.zTree.getZTreeObj("tree");
varcookie=$.cookie("z_tree"+window.location);
if(cookie){
z_tree=JSON2.parse(cookie);
for(vari=0;i<z_tree.length;i++){
varnode=treeObj.getNodeByParam('id',z_tree[i])
treeObj.expandNode(node,true,false)
}
}
}
}
});
});//end$
functiononExpand(event,treeId,treeNode){
varcookie=$.cookie("z_tree"+window.location);
varz_tree=newArray();
if(cookie){
z_tree=JSON2.parse(cookie);
}
if($.inArray(treeNode.id,z_tree)<0){
z_tree.push(treeNode.id);
}
$.cookie("z_tree"+window.location,JSON2.stringify(z_tree))
}
functiononCollapse(event,treeId,treeNode){
varcookie=$.cookie("z_tree"+window.location);
varz_tree=newArray();
if(cookie){
z_tree=JSON2.parse(cookie);
}
varindex=$.inArray(treeNode.id,z_tree);
z_tree.splice(index,1);
for(vari=0;i<treeNode.children.length;i++){
index=$.inArray(treeNode.children[i].id,z_tree);
if(index>-1)z_tree.splice(index,1);
}
$.cookie("z_tree"+window.location,JSON2.stringify(z_tree))
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。