博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实用的两款jquery树形tree插件
阅读量:4968 次
发布时间:2019-06-12

本文共 3010 字,大约阅读时间需要 10 分钟。

这里有两款非常实用的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="width: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");

            });

        }

 

转载于:https://www.cnblogs.com/guozefeng/p/3371231.html

你可能感兴趣的文章
130242014034-林伟领-实验一
查看>>
Forbidden You don't have permission to access / on this server.
查看>>
Windows server 2008 R2中安装MySQL !
查看>>
Intellij Idea新建web项目(转)
查看>>
raspberry 安装apache2,使其支持ssl ,并创建自签名证书
查看>>
Trie树:应用于统计和排序
查看>>
C语言结构体和函数
查看>>
用JAVA编写浏览器内核之实现javascript的document对象与内置方法
查看>>
linux 命令之top
查看>>
洛谷 [P3033] 牛的障碍
查看>>
centos iptables
查看>>
unity3d 移动与旋转 2
查看>>
寻找二叉查找树中比指定值小的所有节点中最大的那个节点
查看>>
如何设置输入框达到只读效果
查看>>
RT3070 USB WIFI 在连接socket编程过程中问题总结
查看>>
MIS外汇平台荣获“2013年全球最佳STP外汇交易商”
查看>>
LeetCode 题解之Add Digits
查看>>
Xml处理工具类(Jdom)
查看>>
hdu1502 , Regular Words, dp,高精度加法
查看>>
20120227_CET6
查看>>