fuelux.tree用法

ACE中带了一个树,样式和操作挺好看的,就是难用,下面记录下如何使用。

首先fuelux.tree接受的数据源是Json,关键这个Json还不怎么标准,可接受的Json示例如下:

{
    ‘刑侦‘: {
        ‘text‘: ‘刑侦‘,
        ‘type‘: ‘folder‘,
        ‘additionalParameters‘: {
            ‘id‘: ‘1‘,
            ‘children‘: {
                ‘痕迹检验‘: {
                    ‘text‘: ‘痕迹检验‘,
                    ‘type‘: ‘item‘,
                    ‘additionalParameters‘: {
                        ‘id‘: ‘10‘
                    }
                },
                ‘声像技术‘: {
                    ‘text‘: ‘声像技术‘,
                    ‘type‘: ‘item‘,
                    ‘additionalParameters‘: {
                        ‘id‘: ‘9‘,
                        ‘item-selected‘: true
                    }
                }
            }
        }
    },
    ‘交警‘: {
        ‘text‘: ‘交警‘,
        ‘type‘: ‘folder‘,
        ‘additionalParameters‘: {
            ‘id‘: ‘32‘,
            ‘children‘: {
                ‘交通事故‘: {
                    ‘text‘: ‘交通事故‘,
                    ‘type‘: ‘item‘,
                    ‘additionalParameters‘: {
                        ‘id‘: ‘33‘
                    }
                },
                ‘交通道理管理‘: {
                    ‘text‘: ‘交通道理管理‘,
                    ‘type‘: ‘item‘,
                    ‘additionalParameters‘: {
                        ‘id‘: ‘34‘
                    }
                }
            }
        }
    }
}

注意上面有默认选中属性设置。

然后是前台:

<ul id="tree1"></ul>

要引入<script src="~/assets/js/fuelux.tree.min.js"></script>

然后是js绑定代码,可以修改为从服务器获取:

        jQuery(function ($) {
            var sampleData = initiateDemoData();

            $(‘#tree1‘).ace_tree({
                dataSource: sampleData[‘dataSource1‘],
                multiSelect: true,
                cacheItems: true,
                ‘open-icon‘: ‘ace-icon tree-minus‘,
                ‘close-icon‘: ‘ace-icon tree-plus‘,
                ‘selectable‘: true,
                ‘selected-icon‘: ‘ace-icon fa fa-check‘,
                ‘unselected-icon‘: ‘ace-icon fa fa-times‘,
                loadingHTML: ‘<div class="tree-loading"><i class="ace-icon fa fa-refresh fa-spin blue"></i></div>‘
            });

            function initiateDemoData() {
                var tree_data = { ‘刑侦‘: { ‘text‘: ‘刑侦‘, ‘type‘: ‘folder‘, ‘additionalParameters‘: { ‘id‘: ‘1‘, ‘children‘: { ‘痕迹检验‘: { ‘text‘: ‘痕迹检验‘, ‘type‘: ‘item‘, ‘additionalParameters‘: { ‘id‘: ‘10‘ } }, ‘声像技术‘: { ‘text‘: ‘声像技术‘, ‘type‘: ‘item‘, ‘additionalParameters‘: { ‘id‘: ‘9‘, ‘item-selected‘: true } } } } }, ‘交警‘: { ‘text‘: ‘交警‘, ‘type‘: ‘folder‘, ‘additionalParameters‘: { ‘id‘: ‘32‘, ‘children‘: { ‘交通事故‘: { ‘text‘: ‘交通事故‘, ‘type‘: ‘item‘, ‘additionalParameters‘: { ‘id‘: ‘33‘ } }, ‘交通道理管理‘: { ‘text‘: ‘交通道理管理‘, ‘type‘: ‘item‘, ‘additionalParameters‘: { ‘id‘: ‘34‘ } } } } } }
                var dataSource1 = function (options, callback) {
                    var $data = null
                    if (!("text" in options) && !("type" in options)) {
                        $data = tree_data;//the root tree
                        callback({ data: $data });
                        return;
                    }
                    else if ("type" in options && options.type == "folder") {
                        if ("additionalParameters" in options && "children" in options.additionalParameters)
                            $data = options.additionalParameters.children || {};
                        else $data = {}//no data
                    }

                    if ($data != null)//this setTimeout is only for mimicking some random delay
                        setTimeout(function () { callback({ data: $data }); }, parseInt(Math.random() * 500) + 200);
                }
                return { ‘dataSource1‘: dataSource1 }
            }

        });

最后是获取选中节点值:

        function xuanzhong() {
            var output = "";
            var ids = "";
            var items = $(‘#tree1‘).tree(‘selectedItems‘);
            for (var i in items) if (items.hasOwnProperty(i)) {
                var item = items[i];
                ids += item.additionalParameters[‘id‘] + ",";
                output += item.text + ",";
            }

            ids = ids.substring(0, ids.lastIndexOf(","));
            output = output.substring(0, output.lastIndexOf(","));
            alert(ids + "___" + output);
        }

本文示例Json来自网络。

时间: 2024-10-30 00:27:01

fuelux.tree用法的相关文章

jQuery easyui的tree用法

由于easyui这个框架简化了不少开发过程,经常被拿来开发后台,但是其实有一个树型的控件,用起来稍微复杂一点,总结了一下最基本的用法! 首先是前台添加标签如下: <ul id="tt"> </ul> 其次添加引用包 <link href="~/Content/jquery-easyui-1.3.6/themes/default/easyui.css" rel="stylesheet" /> <link h

Ext.Net学习笔记22:Ext.Net Tree 用法详解

Ext.Net学习笔记22:Ext.Net Tree 用法详解 上面的图片是一个简单的树,使用Ext.Net来创建这样的树结构非常简单,代码如下: <ext:TreePanel runat="server"> <Root> <ext:Node Text="根节点" Expanded="true"> <Children> <ext:Node Text="节点1" Expand

iMatrix平台中组织结构树标签acsTags:tree用法

1         组织结构树标签(acsTags:tree) 1.1    引入js <script type="text/javascript" src="${resourcesCtx}/widgets/ jstree/jquery.jstree.js"></script> 1.2    用法 1.2.1    开发系统中添加以下资源:查询是否已加入编号为tag_tree的资源,若没有则添加 编号:tag_tree,名称:标签树资源,路径

aceAdmin fuelux tree 从后台获取数据,并设置节点ID等属性

如题,从后台封装数据,有两种方式渲染节点的数据: 1.全部节点加载 2.根据父节点加载子节点 首先,先介绍下第一种渲染方式: 后台返回数据格式(所有的附加属性,都可放在additionalParameters下): 前端页面html: <div class="widget-body"> <div class="widget-main padding-8"> <div id="treeview" class="

Easyui主要组件用法

Easyui主要组件用法说明: 1.  combogrid用法 说明:combogrid可提供翻页列表的数据选择并可进行数据的过滤查询(查询的传人参数为q,可在控制器中获取这个参数传过来的值,下面的示例区别为单独和批量的combogrid提供的数据操作) 以下面输入框为列: 1.<input type="text" id="org" name="org" required="true" class="input

改造 Ace Admin 模板的 ace_tree 组件的 folderSelect 样式

*注:我用的Ace Admin版本为1.3.4 Ace Admin 是一个轻量,功能丰富,HTML5.响应式.支持手机及平板电脑上浏览的优秀管理后台模板. 关于tree的使用,html文件夹下treeview.html给了静态数据的例子,examples下treeview.html给了动态PHP语言的例子. 但是exmaple下的那个treeview,当参数“folderSelect=true”时:如图: 当点开 后,如图: 都不能再收起来,而我想改造成 folder点击选择,也象item样式一

网站源码 网站模板 扁平化后台管理 Bootstrap、HTML5、CSS3 Java

A.代码生成器(开发利器) 生成Java各层次的类和JSP等文件,提高开发效率 B.阿里巴巴数据库连接池Druid 性能最好的数据库连接池,稳定.可扩展.高性能.高并发 C.安全权限框架Shiro 实现认证.授权.加密.缓存.并发.会话管理.单点登录等功能 D.Ehcache二级缓存和Spring MVC静态加载缓存 E.微信接口开发 详尽的单元测试代码,详尽的开发文档,每个模块都有详尽说明和代码示例 F.提供基于JBPM工作流的OA办公系统(后续加入Activiti 5.18工作流) ----

Linux文件目录管理

系统目录结构 为了方便查看系统目录结构,使用tree命令: //安装命令 yum install -y tree // 帮助 tree --help //man帮助命令使用 man tree // tree用法示例:查看根目录下两级 tree -L 2  / 根目录文件夹详解 Linux常用命令存储文件夹:/bin/./sbin/./usr/bin/./usr/sbin/ 注意:/sbin/目录只能root账户使用,普通账户则使用/bin/ 系统启动目录: /boot/ 设备文件目录:  /de

Java企业通用平台框架:Bootstrap、HTML5、jQuery、Spring MVC、Mybatis、Hibernate、高性能、高并发

1.适配所有设备(PC.平板.手机等),兼容所有浏览器(Chrome.Firefox.Opera.Safari.IE6~IE11等),适用所有项目(MIS管理信息系统.OA办公系统.ERP企业资源规划系统.CRM客户关系管理系统.网站等). 2.快速开发,敏捷的数据持久层解决方案. 2.1.事务自动处理. 2.2.O/R Mapping基于注解,零配置XML,便于维护,学习成本低. 2.3.接口和实现分离,不需写数据持久层代码,只需写接口,自动生成添加.修改.删除.排序.分页.各种条件的查询等S