zoukankan      html  css  js  c++  java
  • 基于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))
    }
    View Code
  • 相关阅读:
    判断一个序列是否是另一个序列的前缀
    Ant-打增量包
    cas-单点登录-应用说明
    firebug离线安装方法-拖入法
    oracle-获取数据库中所有表的注释 comments
    跨浏览器的placeholder – 原生JS版
    birt IE8 IE9 兼容问题
    websphere部署--web应用-以自己的项目为例
    JSP-页面跳转大全
    Oracle中Union与Union All的区别(适用多个数据库)
  • 原文地址:https://www.cnblogs.com/s0611163/p/5032570.html
Copyright © 2011-2022 走看看