基于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 on("click")方法绑定事件后执行多次的解决方法
这篇文章主要给大家介绍了关于Jquery on("click")方法绑定事件后执行多次的解决方法,文章通过实例代码以及图文介绍的非常详细,对大家学习或者使用jQuery具有一定的参考学习价值,需要的朋友可以参考下2023-06-06
最新评论