基于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 相关文章推荐
EXT窗口Window及对话框MessageBox
Jan 27 Javascript
JQuery给元素添加/删除节点比如select
Apr 02 Javascript
JavaScript实现的MD5算法完整实例
Feb 02 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
Nov 10 Javascript
Vue2.0使用过程常见的一些问题总结学习
Apr 10 Javascript
详解Layer弹出层样式
Aug 21 Javascript
Windows安装Node.js报错:2503、2502的解决方法
Oct 25 Javascript
JavaScript实现与使用发布/订阅模式详解
Jan 19 Javascript
Vue.js路由实现选项卡简单实例
Jul 24 Javascript
mui js控制开关状态、修改switch开关的值方法
Sep 03 Javascript
小程序接入腾讯位置服务的详细流程
Mar 03 Javascript
JS异步宏队列微队列原理详解
Sep 09 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在文件指定行中写入代码的方法
2012/05/23 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
深入浅出php socket编程
2015/05/13 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
2017/07/19 PHP
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
js常用排序实现代码
2010/12/28 Javascript
node.js中的定时器nextTick()和setImmediate()区别分析
2014/11/26 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
2019/05/27 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
Javascript模块化机制实现原理详解
2020/04/02 Javascript
[02:53]DOTA2英雄昆卡基础教程
2013/11/25 DOTA
在Python中操作列表之List.pop()方法的使用
2015/05/21 Python
python 网络爬虫初级实现代码
2016/02/27 Python
Python使用文件锁实现进程间同步功能【基于fcntl模块】
2017/10/16 Python
Python中将dataframe转换为字典的实例
2018/04/13 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
python中的变量如何开辟内存
2018/06/26 Python
Python3 单行多行万能正则匹配方法
2019/01/07 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
给你一面国旗 教你用python画中国国旗
2019/09/24 Python
python 获取域名到期时间的方法步骤
2021/02/10 Python
Snapfish爱尔兰:在线照片打印和个性化照片礼品
2018/09/17 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
如何客观的进行自我评价
2013/12/17 职场文书
员工保密承诺书
2014/05/28 职场文书
中学生旷课检讨书500字
2014/10/29 职场文书
2014年度思想工作总结
2014/11/27 职场文书
早上好问候语大全
2015/11/10 职场文书
2016教师读书思廉心得体会
2016/01/23 职场文书
SQL SERVER中的流程控制语句
2022/05/25 SQL Server