基于cookie实现zTree树刷新后展开状态不变


Posted in Javascript onFebruary 28, 2017

基于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))
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript中的数学函数
Apr 04 Javascript
JavaScript获得选中文本内容的方法
Dec 02 Javascript
快速排序 php与javascript的不同之处
Feb 22 Javascript
JS基于面向对象实现的放烟花效果
May 07 Javascript
jQuery实现强制cookie过期方法汇总
May 22 Javascript
jquery实现漫天雪花飞舞的圣诞祝福雪花效果代码分享
Aug 20 Javascript
微信支付如何实现内置浏览器的H5页面支付
Sep 25 Javascript
javascript Slip.js实现整屏滑动的手机网页
Nov 25 Javascript
JS字符串按逗号和回车分隔的方法
Apr 25 Javascript
Vue.js移动端左滑删除组件的实现代码
Sep 08 Javascript
Electron中实现大文件上传和断点续传功能
Oct 28 Javascript
使用JavaScript和MQTT开发物联网应用示例解析
Aug 07 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 #Javascript
canvas绘图不清晰的解决方案
Feb 28 #Javascript
jQuery树控件zTree使用方法详解(一)
Feb 28 #Javascript
js数字计算 误差问题的快速解决方法
Feb 28 #Javascript
js数字舍入误差以及解决方法(必看篇)
Feb 28 #Javascript
JS实现浏览器打印、打印预览示例
Feb 28 #Javascript
JS基于面向对象实现的多个倒计时器功能示例
Feb 28 #Javascript
You might like
PHP 获取MSN好友列表的代码(2009-05-14测试通过)
2009/09/09 PHP
遭遇php的in_array低性能问题
2013/09/17 PHP
Laravel 5 框架入门(二)构建 Pages 的管理功能
2015/04/09 PHP
javascript 仿QQ滑动菜单效果代码
2010/09/03 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
JavaScript数据结构和算法之图和图算法
2015/02/11 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
基于BootStrap Metronic开发框架经验小结【二】列表分页处理和插件JSTree的使用
2016/05/12 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
vue组件初学_弹射小球(实例讲解)
2017/09/06 Javascript
关于 angularJS的一些用法
2017/11/29 Javascript
webpack-dev-server远程访问配置方法
2018/02/22 Javascript
动态加载、移除js/css文件的示例代码
2018/03/20 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
Vue核心概念Action的总结
2019/01/18 Javascript
vue+elementUI实现表格关键字筛选高亮
2020/10/26 Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
2019/11/04 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
vue内置组件component--通过is属性动态渲染组件操作
2020/07/28 Javascript
js实现简易计算器小功能
2020/11/18 Javascript
[03:49]DOTA2英雄基础教程 光之守卫
2014/01/14 DOTA
python中常用的各种数据库操作模块和连接实例
2014/05/29 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
Python随机生成数据后插入到PostgreSQL
2016/07/28 Python
django小技巧之html模板中调用对象属性或对象的方法
2018/11/30 Python
OpenCV+Python--RGB转HSI的实现
2019/11/27 Python
Python递归求出列表(包括列表中的子列表)的最大值实例
2020/02/27 Python
用CSS3的box-reflect设置文字倒影效果的方法讲解
2016/03/07 HTML / CSS
实例讲解HTML5的meta标签的一些应用
2015/12/08 HTML / CSS
客服工作职责
2013/12/11 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
初三政治教学反思
2014/01/30 职场文书
班风学风建设方案
2014/05/06 职场文书
新年晚会开场白
2015/05/29 职场文书
公司管理建议书
2015/09/14 职场文书
MySQL update set 和 and的区别
2021/05/08 MySQL