我写的一个常用的树目录组件,需要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. nim 3. 各种集合

    其实我挺想先去学习一下nim的模块系统,毕竟我决定暂时放弃学习golang,就是因为感觉他的模块和包方面的设计,不像c#+nuget的组合那么舒服. 但是这里还是先学习一下集合吧,感觉这方面nim很有 ...

  2. 【工程实践】go语言实现MerkleTree

    简介 默克尔树(MerkleTree)是一种典型的二叉树结构,其主要特点为: 最下面的叶节点包含存储数据或其哈希值: 非叶子节点(包括中间节点和根节点)的内容为它的两个孩子节点内容的哈希值. 所以底层 ...

  3. 当装饰者模式遇上Read Through缓存,一场技术的浪漫邂逅

    在<经验之谈:我为什么选择了这样一个激进的缓存大Key治理方案>一文中,我提到在系统中使用的缓存是旁路缓存模式,有读者朋友问,有没有用到过其他的缓存模式,本文将结合一个我曾经工作中的案例, ...

  4. SDXL

    SDXL 模型经过训练可以创建具有更好图像质量的更大图像.它们还可以拍摄 512x512 分辨率的优质图像,因此就图像质量而言,它们通常是 SD 1 或 2 型号的良好替代品. 但是,它们确实会消耗更 ...

  5. 【winform】【Socket】实现你画我猜一:核心功能开发

    我认为得核心:是把客户端画的图画实时传递给其他的客户端.   我的思路是: 1.GDI+绘图加鼠标事件,实现客户端绘图. 2.每记录鼠标有效绘图10个点,就把这10个点通过socket传递给服务器. ...

  6. Anagrams(字谜)

    描述 Most crossword puzzle(猜字谜) fans are used to anagrams(字谜)--groups of words with the same letters i ...

  7. 莫烦tensorflow学习记录 (4)Classification 分类学习

    MNIST 数据 首先准备数据(MNIST库) from tensorflow.examples.tutorials.mnist import input_data mnist = input_dat ...

  8. 001. git基础

    目录 1. 持续集成教程 1.1 持续集成的基础概念 1.2 持续集成的一般流程 1.3 认识DevOps 1.3.1 DevOps是啥? 1.3.2 为什么需要DevOps呢? 1.3.3 DevO ...

  9. 音视频-YUV数据格式

    一.YUV格式 1)kCVPixelFormatType_420YpCbCr8PlanarFullRange = 'f420' 对应YUV I420格式 2)kCVPixelFormatType_42 ...

  10. RTOS入门

    RTOS是什么? RTOS是一款操作系统,相当于Windows\Linux 分为ucos FreeRTOS RT-Thread LiteOS 比裸机开发的优势在于,多任务系统,不必串行 临界区 临界区 ...