基于cookie实现zTree树刷新后展开状态不变
更新时间:2017年02月28日 09:29:18 作者:秋荷雨翔
这篇文章主要为大家详细介绍了如何基于cookie实现zTree树刷新后,展开状态不变,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
基于cookie实现zTree树刷新后,展开状态不变。
1、除了引用jQuery和zTree的JS外,引用cookie的JS:
<script type="text/javascript" src="~/Scripts/jquery-treeview/lib/jquery.cookie.js"></script>
2、JS代码:
$(function () {
//ztree设置
var setting = {
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);
var treeObj = $.fn.zTree.getZTreeObj("tree");
var cookie = $.cookie("z_tree" + window.location);
if (cookie) {
z_tree = JSON2.parse(cookie);
for (var i = 0; i < z_tree.length; i++) {
var node = treeObj.getNodeByParam('id', z_tree[i])
treeObj.expandNode(node, true, false)
}
}
}
}
});
});//end $
function onExpand(event, treeId, treeNode) {
var cookie = $.cookie("z_tree" + window.location);
var z_tree = new Array();
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))
}
function onCollapse(event, treeId, treeNode) {
var cookie = $.cookie("z_tree" + window.location);
var z_tree = new Array();
if (cookie) {
z_tree = JSON2.parse(cookie);
}
var index = $.inArray(treeNode.id, z_tree);
z_tree.splice(index, 1);
for (var i = 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))
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
这篇文章主要介绍了jQuery实现的给图片点赞+1动画效果,并附带在线演示及demo源码下载,涉及jQuery鼠标事件响应及页面元素属性动态操作相关技巧,需要的朋友可以参考下2015-12-12
jQuery插件slicebox实现3D动画图片轮播切换特效
Slicebox是一款效果非常华丽的jquery和css3 3d幻灯片插件。Slicebox幻灯片插件能够将图片切片,然后做3d旋转。Slicebox幻灯片插件共有4种效果,视觉冲击感非常强。2015-04-04


最新评论