哎哟,好久没写什么这个虽然没人看的博客了,其实这段时间情绪非常低谷,就没有写博客了,不过我还是回来了,回到正题,在前端页面编程的时候,我们经常用到树状,用原始的树状呢,功能没有那么强大,所以这个时候

我们需要引入一个非常好用的插件,ztree,其实就是JQuery的一个插件,这个是接口文档:http://www.treejs.cn/v3/api.php

然后呢  我们在页面中使用呢,就的先引入ztree ,这个是下载地址:https://gitee.com/zTree/zTree_v3/tree/master/js

这个是我引入的包:

下载之后放在你的js文件夹中方便引入就好了,然后就是在页面中引入:

<script src="~/js/ztree/jquery.ztree.core.min.js"></script>
<script src="~/js/ztree/jquery.ztree.exhide.min.js"></script>
<link href="~/css/zTreeStyle.css" rel="stylesheet" />
<script src="~/js/ztree/jquery.ztree.exedit.min.js"></script>
<script src="~/js/fuzzysearch.js"></script>

然后就可以开始使用了:

先定义一个<ul id="shuai" class="ztree"></ul>

然后 先写加载树状数据的函数:

 $(function () {
Tree();
}); function Tree() {
var setting = { data: {
simpleData: {
enable: true
}
},
view: {
showIcon: false }
,
callback: {
onClick: TreeClick
}
};
$.ajax({
url: "", //这个是请求数据的action url
type: "get",
async: false,
success: function (data) { // data返回的数据
$.fn.zTree.init($("#AccountTree"), setting, data.data);
//初始化模糊搜索方法
fuzzySearch('AccountTree', '#keyword', null, true); //引入模糊查询的插件就可以使用这个方法 }
});
} function TreeClick(event, treeId, treeNode) {
$('.layui-tab-title li').removeClass('layui-this');
var treeObj = $.fn.zTree.getZTreeObj("AccountTree");
var nodes = treeObj.getSelectedNodes();
if (treeNode.pId == null) {
//点击事件,当点击父节点时候,进行的操作
}
else { }
}

这样就可以实现基本的树状结构啦,非常简单和方便,后端的话需要这样实现:

需要一个Nodelist去传递数据到前端页面:

public class NodeTree
{
/// <summary>
/// 节点Id
/// </summary>
public string Id { get; set; } /// <summary>
/// 父节点Id
/// </summary>
public string PId { get; set; } /// <summary>
/// 节点名称
/// </summary>
public string Name { get; set; } /// <summary>
/// 是否选中
/// </summary>
public bool Checked { get; set; }
}
 public async Task<List<NodeTree>> GetSocialTree(string[] supplier)
{
// 返回的所有节点
List<NodeTree> returnNodes = new List<NodeTree>(); // 父节点
List<NodeTree> Nodes = new List<NodeTree>(); // 子节点
List<NodeTree> FNodes = new List<NodeTree>(); var query = db.database..Select(x => new NodeTree
{
Id = x.Name,
Name = x.Name,
PId = "0"
}); Nodes = await query.ToListAsync(); var queryCity = db.SocialAccount.Where.Select(x => new NodeTree
{
Id = x.Id,
Name = x.City,
PId = x.Name
}); FNodes = await queryCity.ToListAsync(); returnNodes.AddRange(Nodes);
returnNodes.AddRange(FNodes);
return returnNodes;
}

这段代码是伪代码,只是举一个例子看起来更直观,总之返回list<nodes>到前端页面,这个时候树状就可以发挥作用了,非常简单和方便。大致就是这样了。

ztree的用法的更多相关文章

  1. js zTree的用法

    代码如下: <script type="text/javascript">    var reginTree = {    setting: {        view ...

  2. jQuery Ztree基本用法

    1.首先在页面上有<ul/>标签 <ul id="tree" class="ztree"></ul> 2.定义ztree的配 ...

  3. jq生成目录文件树jQuery Ztree基本用法

    转自:http://www.cnblogs.com/linjiqin/p/4547452.html 1.首先在页面上有<ul/>标签 ? 1 <ul id="tree&qu ...

  4. zTree 基本用法

    [简介] zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE.FireFox.Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实例 ...

  5. Ztree使用教程

    这两天项目需要写一个树形帮助,学习了我们项目组的老师的Ztree的树的写法,实现了这个帮助,下面来总结一下Ztree的用法. (也是参考的一篇csdn上的博客了) zTree 是一个依靠 jQuery ...

  6. zTree静态树与动态树的用法——(七)

    0.[简介] zTree 是利用 JQuery 的核心代码,实现一套能完成大部分常用功能的 Tree 插件 兼容 IE.FireFox.Chrome 等浏览器 在一个页面内可同时生成多个 Tree 实 ...

  7. Ztree节点增加删除修改和Icheck的用法

    简介 官方文档:http://www.treejs.cn/v3/api.php zTree 是一个依靠 jQuery 实现的多功能 “树插件”, 而且拥有较好的浏览器兼容性,有着丰富的功能以及可以自定 ...

  8. zTree 用法小例

    插件地址:链接:http://pan.baidu.com/s/1jHVtyZ0 密码:7kee <select id="getTree" resultType="j ...

  9. 树 插件 ztree 的基本用法

    因业务需要 用到 ztree 插件 第一次用tree插件上手有点难度 官网 http://www.treejs.cn/v3/main.php#_zTreeInfo 第一步:初始化树,树的所有数据从后台 ...

随机推荐

  1. .NET开源工作流RoadFlow-流程运行-工作委托

    如果某一个人某一段时间不在单位,则可以将自己的工作委托给他人代为处理. 在 流程处理-->工作委托 中可以管理自己的委托,管理员也可以在 流程管理-->工作委托 中管理所有人的委托: 委托 ...

  2. mysql主键问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/qq_22314145/article/details/80824660 MySQL主键 一. MyS ...

  3. shiro(java安全框架)

    shiro(java安全框架) 以下都是综合之前的人加上自己的一些小总结 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的A ...

  4. C++数组怎么复制

    C++数组怎么复制: #include <string.h>main(){int a[10]={34,56,4,10,77,51,93,30,5,52};int b[10];memcpy( ...

  5. pt-kill

    pt-kill作用主要是用来杀掉MySQL的链接,在查杀进程的时候,它从show processlist 中获取满足条件的连接然后进行kill,也可以从从包含show processlist的文件中读 ...

  6. Ubuntu安装使用pyltp和StanfordCoreNLP

    环境:Ubuntu 16.04+anaconda3 一.pyltp 1. 安装 直接用pip安装: pip install pyltp 然后下载语言模型库,网址:https://pan.baidu.c ...

  7. VS断点不生效

    工程属性页中“配置属性”->“C/C++”->“常规”->“调试信息格式”,选择“用于“编辑并继承”的程序数据库(/ZI)”. 在“配置属性”->“链接器”->“调试”- ...

  8. June 24th 2017 Week 25th Saturday

    Who is able to be egotistical needs to be strong too. 有本事任性的人,也要有本事坚强. What is egotistical? Is it th ...

  9. 475. Heaters (start binary search, appplication for binary search)

    Winter is coming! Your first job during the contest is to design a standard heater with fixed warm r ...

  10. Dz7.2 从获取uc key到getshell

    0x01下午在群里看到的 问下朋友大概 然后用不生不熟的sqlmap在那跑–表能跑的出 列就GG了 然后没辙–晚上跑各大论坛逛了遍果然大神多 就慢慢的研究下了下 看了pt0n大牛的分析文 真心感叹这洞 ...