zoukankan      html  css  js  c++  java
  • 实用的两款jquery树形tree插件

    这里有两款非常实用的jquery tree控件:

    (1)

    ------------------------------------------1.(根据一讲师总结)

    ---zTree:

    jquery.ztree-2.6.min.js;下载包中有详细的api,实用文当和demo;方法非常的丰富,不用担心很麻烦。

    ----引入脚本;

     <link href="../../Scripts/ZTree/zTreeStyle/zTreeStyle.css" rel="stylesheet" />

     <link href="../../Scripts/ZTree/zTreeStyle/zTreeIcons.css" rel="stylesheet" />

     <script src="../../Scripts/ZTree/jquery.ztree-2.6.min.js"></script>

    ----详细的案例就可以看明白:

     <script type="text/javascript">

            var ztree;

            var treenodes;

            var setting = {

                showLine:true,

                checkable: true,

                checkStyle: "radio",

                checkRadioType:"all",

                isSimpleData: true,          //简单数据类型,感觉最实用

                treeNodeKey: "Id",          //id

                treeNodeParentKey: "PId",   //父级id

                nameCol: "Name",            //名称

                expandSpeed: "fast",

                checkType: {"Y":"ps","N":"ps"}, //全选和对应的父节点一次选中效果;

                callback: {

                    dblclick:guo //回调函数;

                }

            };

            function guo(event,treeId,treeNode) {

                //alert("hhah ");

                alert(treeNode.PId);

                alert(treeNode.Name);

            }

            $(function () {

                $.getJSON("../ceshi/GetZTree", {}, function (data) {

                    ztree = $("#map").zTree(setting,data);

                })

            });

    -------html:

     <ul id="map" class="tree" style="500px; overflow:auto;">

           

     </ul>

     

    ----------------------------------------------第二种:treeview.js;

    ---------动态加载案例:

     function createMenuContent(data) {

                var strHtml = '<ul class="filetree">';

                for (var i = 0; i < data.length; i++) {

                    if (data[i].ChildPages.length > 0) {

                        strHtml += '<li><span class="folder">' + data[i].CurrentPage.PName + '</span>';

                        strHtml += createMenuContent1(data[i].ChildPages);

                        strHtml += '</li>'

                    }

                    else {

                        strHtml += '<a target="main"  href="' + data[i].CurrentPage.Url + '"  class="menuLink"><li><span class="file">' + data[i].CurrentPage.PName + '</span></li></a>';

                    }

                }

                strHtml += '</ul>';

                return strHtml;

            }

            function createMenuContent1(data) {

                var strHtml = '<ul>';

                for (var i = 0; i < data.length; i++) {

                    if (data[i].ChildPages.length > 0) {

                        strHtml += '<li><span class="folder">' + data[i].CurrentPage.PName + '</span>';

                        strHtml += createMenuContent1(data[i].ChildPages);

                        strHtml += '</li>'

                    }

                    else {

                        strHtml += '<a target="main"  href="' + data[i].CurrentPage.Url + '"  class="menuLink"><li><span class="file">' + data[i].CurrentPage.PName + '</span></li></a>';

                    }

                }

                strHtml += '</ul>';

                return strHtml;

            }

    ------------------主要是通过class属性来标记;

    ------------------需要注意的是,当一个页面加载多个时,文件夹图标和加号会图标会和展开和并相反

    所以就手动控制css样式了:

     function Set() {

                //treeview存在bug,页面出现多个时,节点图片与节点展示隐藏相反不对应

                $.each($("#menuList").find("li[class='expandable']"), function () {

                    $(this).attr("class", "collapsable");

                    // $(this).first("div[class='hitarea expandable-hitarea']").attr("class", "hitarea collapsable-hitarea");

                    $(this).find("div[class='hitarea expandable-hitarea']").first().attr("class", "hitarea collapsable-hitarea");

                });

                $.each($("#menuList").find("li[class='expandable lastExpandable']"), function () {

                    $(this).attr("class", "collapsable lastCollapsable");

                    $(this).find("div[class='hitarea expandable-hitarea lastExpandable-hitarea']").first().attr("class", "hitarea collapsable-hitarea lastCollapsable-hitarea");

                });

            }

  • 相关阅读:
    Struts2+Spring3+Mybatis3开发环境搭建
    spring+struts2+mybatis
    【LeetCode】Populating Next Right Pointers in Each Node
    【LeetCode】Remove Duplicates from Sorted Array
    【LeetCode】Remove Duplicates from Sorted Array II
    【LeetCode】Binary Tree Inorder Traversal
    【LeetCode】Merge Two Sorted Lists
    【LeetCode】Reverse Integer
    【LeetCode】Same Tree
    【LeetCode】Maximum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/guozefeng/p/3371231.html
Copyright © 2011-2022 走看看