展示树菜单(zTree)

zTree是一个依靠 jQuery 实现的多功能 “树插件”,支持选择框等显示,动态更改图标,提供多种事件响应回调,而且异步数据功能强大。相信涉及大型项目或者大量数据时,它的使用将非常方便。
利用ztree和Dwr框架可以轻松的实现后台数据的异步加载,他们都是利用Ajax进行后台数据的异步刷新的,页面不会重新加载,而且速度非常快
兼容 IE、FireFox、Chrome 等浏览器
  • 在一个页面内可同时生成多个 Tree 实例
  • 支持 JSON 数据
  • 支持一次性静态生成 和 Ajax 异步加载 两种方式
  • 支持多种事件响应及反馈
  • 支持 Tree 的节点移动、编辑、删除
  • 支持任意更换皮肤 / 个性化图标(依靠css)
  • 支持极其灵活的 checkbox 或 radio 选择功能
  • 简单的参数配置实现 灵活多变的功能

demo只是展示树菜单,不包含增删

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Title</title>
    <!--引入相关css和js文件-->
    <link rel="stylesheet" href="../ztree/css/zTreeStyle/zTreeStyle.css" type="text/css">
    <script type="text/javascript" src="../ztree/js/jquery-1.4.4.min.js"></script>
    <script type="text/javascript" src="../ztree/js/jquery.ztree.core-3.5.min.js"></script>
    <script type="text/javascript" src="../ztree/js/jquery.ztree.excheck-3.5.min.js"></script>

    <script type="text/javascript">
        // 初始化ztree参数
        var zTreeObj;
        var setting = {
            check : {
                enable : true
            },
            data : {
                keep : {
                    parent : true
                },
                simpleData : {
                    enable : true
                }
            }
        };

        // 后台查询ztree数据,以json何时返回
        $(document).ready(function() {
            /*$.post(
                    "ztreeAction.action",
                    {"id":"${id}"},
                    function(data){
                        zTreeObj = $.fn.zTree.init($(‘#ztree‘), setting, data);    //rmTree 树的id,支持多个树
                        zTreeObj.expandAll(true);        //展开所有树节点
                    },
                    "json");
            */
            var data = [
                {"id":"100","pId":"", "isParent":"true","name":"100","checked":"true"},
                {"id":"100100","pId":"100", "isParent":"true","name":"100100","checked":"true"},
                {"id":"100100100","pId":"100100", "isParent":"false","name":"100100100","checked":"true"},
                {"id":"200","pId":"", "isParent":"true","name":"200","checked":"true"},
                {"id":"200100","pId":"200", "isParent":"true","name":"200100","checked":"true"},
                {"id":"200101","pId":"200", "isParent":"false","name":"200101","checked":"true"},
                {"id":"200100100","pId":"200100", "isParent":"false","name":"200100100","checked":"true"},
                {"id":"200100101","pId":"200100", "isParent":"false","name":"200100101","checked":"false"}
            ];
            zTreeObj = $.fn.zTree.init($(‘#ztree‘), setting, data); //rmTree 树的id,支持多个树
            zTreeObj.expandAll(true); //展开所有树节点
        });

        //获取所有选择的节点
        function submitCheckedNodes() {
            var nodes = new Array();
            nodes = zTreeObj.getCheckedNodes(true);        //取得选中的结点
            var str = "";
            for (i = 0; i < nodes.length; i++) {
                if (str != "") {
                    str += ",";
                }
                str += nodes[i].id;
            }

            $(‘#xIds‘).val(str);
            alert($(‘#xIds‘).val());
        }
    </script>
</head>
<body>
    <form action="" method="post">
        <input hidden="hidden" type="text" id="xIds" name="xIds" value="">
        <div>
            <ul id="ztree" class="Chart ztree">

            </ul>
        </div>
        <input type="button" onclick="submitCheckedNodes()" value="检查勾选的节点">
    </form>
</body>
</html>

结果展示

原文地址:https://www.cnblogs.com/lin-nest/p/10874123.html

时间: 2024-10-10 12:54:31

展示树菜单(zTree)的相关文章

【Ztree】前台展示多级菜单,后台配置方法

第一步.前台HTML页面. 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="feeClassification.aspx.cs" Inherits="Webs.pages.Parameter.feeClassification" %> 2 3 <!DOCTYPE html> 4 <html lang="en-us&q

如何解决EasyUI树菜单单击文字无法展开菜单的问题

最近遇到一个问题:单击EasyUI树菜单中的文字,菜单无法展开,只有单击加号才能展开,才有效果.如何解决这个问题呢?方法如下: 1 找到要添加的代码的位置,比如说 jquery.easyUI.min.js 文件中菜单的设置处(具体要看自己的项目是  在哪里设置) 2 找到onSelect 函数,然后添加如下代码: onSelect:function(node){      $(this).tree(node.state === 'closed' ? 'expand' : 'collapse', 

ext树菜单实体类

package cn.edu.hbcf.common.vo; import java.util.ArrayList; import java.util.List; /** * ext树菜单 * * @author * @date 2012-02-24 19:06:00 * */ public class Tree { private String id; private String name; private String text; private String iconCls; priva

Zatree-zabbix图形展示树;

Zatree Zatree zabbix的一个插件,做个展示树:可以提供host group的树形展示和在item里指定关键字查询及数据排序. 下载地址 可以根据zabbix不同版本下载:https://github.com/spide4k/zatree Zatree for zabbix 2.2.4 示例: 1.下载 git clone https://github.com/BillWang139967/zatree.git ( 3.0 github 也是一样方法 ) git clone ht

jQuery和CSS3动感手风琴多级列表树菜单

mtree.js是一款效果非常炫酷的jQuery和CSS3动感手风琴多级列表树菜单插件.该手风琴多级列表树菜单基于velocity.js和CSS3 transitions来制作.它提供了5种主题样式的手风琴列表树菜单效果.这5种主题分别为:bubba,skinny,transit,jet,nix. 效果演示:http://www.htmleaf.com/Demo/201505251902.html 下载地址:http://www.htmleaf.com/jQuery/Menu-Navigatio

EasyUI 树菜单

EasyUI 树菜单 通过ssm框架项目实现EasyUI 的树菜单的单选,复选,异步加载树,同步加载树和树权限控制等功能. 本章知识点 效果图: 需求:通过SSM框架,实现EasyUI 树菜单的单选,多选,异步加载,同步加载的功能 技术:Spring,SpringMVC,Mybatis,EasyUI 明说:使用EasyUI-Tree,必须严格遵守它的规则,如异步加载树节点的 id,异步加载树返回值的格式等.如果按照其规则来做,你会发现 EasyUI 很简单.反之到处都是吭! 源码:见文章底部 场

通用权限管理系统之权限菜单zTree树的展示及移动的处理方法

在通用权限管理系统中,有很多数据结构是有父子关系的,如组织机构,部门,权限菜单等,在展示的时候,大多数是通过zTree树的形式展现的,如下: 权限菜单展示 这种数据后台输出比较容易处理,参考如下获取某个子系统的全部操作菜单: 后台输出zTree树的数据 /// <summary> /// 获取module树结构数据 /// </summary> /// <param name="systemCode"></param> /// <r

zTree实现树菜单角色权限分配

//打开授权模态框function givePower(id) { //通过uniqueId 获取行数据 var rows = $('#parameterTab').bootstrapTable('getRowByUniqueId', id); $("#roleNameTree").val(rows.roleName); //展示角色模态框 $('#sysRoleTreeModal').modal('show');//settingss // ajax获取后台数据 $.ajax({ u

使用ztree展示树形菜单结构

官网:http://www.treejs.cn/v3/main.php#_zTreeInfo 一.功能简介 在权限系统中,实现给角色指定菜单权限的功能.主要包括以下几点: 读取全部菜单项,并以树形结构展现: 勾选角色拥有的菜单权限,保存入库: 重新编辑角色权限时,默认选中角色已有的菜单权限. 二.界面 三.实现过程 1.在服务端获取全部菜单资源,并转换为json字符串. @RequestMapping("/edit") public String edit(Integer roleId