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
  • 相关阅读:
    C#调用C++编译的DLL--
    Visual studio 生成后事件说明
    页面缓存
    片段缓存
    数据缓存中的依赖关系
    四十条测试你是不是合格的PHP程序员
    YII的关联查询
    views中的公共代码放在一起
    html中出现的script失效
    Linux配置apache等系列
  • 原文地址:https://www.cnblogs.com/s0611163/p/5032570.html
Copyright © 2011-2022 走看看