我写的一个常用的树目录组件,需要jquery和font-awesome支持,对于想使用自定义图标的可以重定义 fa样式即可,或者直接更换源码的样式名称。

下载地址:https://github.com/junengrong/EasyWebFactoryTree

目录树效果如下:

准备测试数据源:

   var categorydata = [{
id: 2,
title: '陕西' //一级菜单
, children: [{
id: 21,
title: '西安' //二级菜单
}]
}, {
id: 1,
title: '江西' //一级菜单
, children: [{
id: 11,
title: '南昌' //二级菜单
, children: [{
id: 111,
title: '高新区' //三级菜单
//…… //以此类推,可无限层级
}, {
id: 1112,
title: '高新区2' //三级菜单
//…… //以此类推,可无限层级
}]
}, {
id: 11,
title: '南昌' //二级菜单
, children: [{
id: 111,
title: '高新区' //三级菜单
//…… //以此类推,可无限层级
}, {
id: 1112,
title: '高新区2' //三级菜单
//…… //以此类推,可无限层级
}]
}]
}];

常用法

       $("#categorytree").EasyWebFactoryTree({
data: categorydata,
itemClick: function (rowdata, $treeitem) {
// this is click event
console.log(rowdata);
}
});

下拉树列表效果:

代码

            $("#selectId").EasyWebFactorySelect({
data: categorydata,
select: function (item) {
// console.log(item);
}
});
//set selected value
$("#selectId").EasyWebFactorySelectSet("value", "");
//get selected value
var value = $("#selectId").EasyWebFactorySelectGet();
//get options
var options= $("#selectId").getOptions();

做管理后台时,提供了三个浮动按钮:

使用方法很简单,直接添加menuClick事件即会显示浮动按钮

      $("#categorytree").EasyWebFactoryTree({
data: categorydata,
menuClick: function (itemdata, mouseEvent) {
//use this event will display 3 flow button (add,edit,delete)
var $obj = $(mouseEvent.target); // this is
if ($obj.hasClass("fa-remove")) {
// delete button is clicked
} else if ($obj.hasClass("fa-plus")) {
// add button is clicked
} else if ($obj.hasClass("fa-edit")) {
// edit button is clicked
}
console.log($obj);
},
itemClick: function (rowdata, $treeitem) {
// this is click event
console.log(rowdata);
}
});

开源一个常用的树目录和下拉树js组件的更多相关文章

  1. 开源框架.netCore DncZeus学习(五)下拉树的实现

    千里之行,始于足下,先从一个小功能研究起,在菜单管理页面有一个下拉树,先研究下它怎么实现的 1.先找到menu.vue页面 惯性思维先搜索请选择三个字,原来是动态生成的 再向上找DropDown组件, ...

  2. zTree开发下拉树

    最近,因为工作需要一个树形下拉框的组件,经过查资料一般有两种的实现方法.其一,就是使用zTree实现:其二,就是使用easyUI实现.因为公司的前端不是使用easyUI设计的,故这里我选择了zTree ...

  3. vue 模拟下拉树

    // 使用vue 做表格部分其他部分暂不修改 var app = new Vue({ el: "#freightTbl", watch: { //监听表格数据的变化[使用 watc ...

  4. Extjs下拉树代码测试总结

    http://blog.csdn.net/kunoy/article/details/8067801 首先主要代码源自网络,对那些无私的奉献者表示感谢! 笔者对这些代码做了二次修改,并总结如下: Ex ...

  5. EXTJS下拉树ComboBoxTree参数提交及回显方法

    http://blog.csdn.net/wjlht/article/details/6085245 使用extjs可以构造出下拉数,但是不方便向form提交参数,在此,笔者想到一个办法,很方便Com ...

  6. layui扩展组件,下拉树多选

      项目介绍 项目中需要用到下拉树多选功能,找到两个相关组件moretop-layui-select-ext和wujiawei0926-treeselect,但是moretop-layui-selec ...

  7. elementUI下拉树组件封装

    使用组件:Popover 弹出框.Tree 树形控件 和 input 输入框 用法: 1.新建一个.vue文件,粘贴以下组件封装的代码(完全可以使用) 2.在页面需要使用下拉树的地方调用即可. (1) ...

  8. 用vue写一个仿app下拉刷新的组件

    如果你用vue弄移动端的页面,那么下拉刷新还是比较常见的场景,下面来研究如何写一个下拉刷新的组件(先上图); 由于节省大家的时间,样式就不贴出来了. html结构也不必介绍了,直接看代码吧-.- &l ...

  9. vue-Treeselect实现组织机构(员工)下拉树的功能

    知识点:前端使用vuetree的组件库,调用后台查询组织机构,包括人员的接口 实现下拉树的功能 查考: vue-treeselect官网:https://vue-treeselect.js.org/ ...

  10. SuperSwipeRefreshLayout 一个功能强大的自己定义下拉刷新组件

    SuperSwipeRefreshLayout 一个功能强大的自己定义下拉刷新组件. Why? 下拉刷新这样的控件.想必大家用的太多了,比方使用非常多的XListView等. 近期.项目中非常多列表都 ...

随机推荐

  1. C#中的对象深拷贝和浅拷贝

    目录 C#中的对象深拷贝和浅拷贝 概述 1. 浅拷贝 2. 深拷贝 总结 引用 C#中的对象深拷贝和浅拷贝 概述 在C#中,对象拷贝是指将一个对象的副本创建到另一个对象中.对象拷贝通常用于数据传输或创 ...

  2. 如何修改npm包源码后,重新npm包的时候能是修改后的版本

    肯定是clone一份到gitHub啦 保存一份修改后的npm包到自己的私有库 npm 安装 git 仓库的方式 npm install <git remote url> 例如 npm in ...

  3. 荒岛野人Savage

    题目描述 样例 3 1 3 4 2 7 3 3 2 1 6 分析 首先,我们先设4个变量,初始坐标 \(d[i]\),每年步数 \(p[i]\),寿命 \(l[i]\),根据题目很容易得到一个不等式 ...

  4. Python爬图片

    1 import requests 2 from lxml import etree 3 4 header = { 5 "user-agent": "Mozilla/5. ...

  5. Abp vNext框架 基础知识 依赖注入

    依赖注入 ABP的依赖注入系统是基于Microsoft的依赖注入扩展库(Microsoft.Extensions.DependencyInjection nuget包)开发的.因此,它的文档在ABP中 ...

  6. Flutter(九)Json序列化与反序列化(转Model)

    在日常开发中JSON的序列化与反序列化是一个常见的操作:而Dart语言不支持反射,运行时反射会影响Dart的tree shaking(摇树优化),tree shaking可以"抖掉" ...

  7. 鸿蒙HarmonyOS实战-Web组件(前端函数和应用侧函数相互调用)

    前言 前端函数和应用侧函数相互调用是指前端页面中的JavaScript函数和应用程序侧的函数之间进行相互调用. 在前端开发中,常常会使用JavaScript函数来处理用户的交互事件和操作.这些函数可以 ...

  8. linux上使用webdav

    webdav 干什么用的? 对于我来说,主要是用来同步文件的,n年以前,那时候还啥都不懂,要分享一个文件都是用qq/或者微信发,那时候就一个手机一个电脑,而且文件大部分是分享给认识的人. qq分享完全 ...

  9. 【论文笔记】AlexNet

    [深度学习]总目录 由于受到计算机性能的影响,虽然LeNet在图像分类中取得了较好的成绩,但是并没有引起很多的关注. 直到2012年,Alex等人提出的AlexNet网络在ImageNet大赛上以远超 ...

  10. C#.Net筑基-深入解密小数内部存储的秘密

    为什么0.1 + 0.2 不等于 0.3?为什么16777216f 等于 16777217f?为什么金钱计算都推荐用decimal?本文主要学习了解一下数字背后不为人知的存储秘密. 01.数值类型 C ...