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

我们需要引入一个非常好用的插件,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. flask框架下的jinja2模板引擎(1)(模板渲染)

    #转载请留言联系 模板是什么? 在 flask 框架中,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本.模板作用即是承担视图函 ...

  2. java jdk切换出现的问题 jdk切换失败(转)

    1.问题:同时装两个版本的jdk时出现的问题(本次是1.7和1.8的版本),因为eclipse要求1.8版本的,但是我的Windows默认版本是1.7,导致无法启动eclipse 2.因为做开发的时候 ...

  3. 使用intellij idea搭建MAVEN+SSM(Spring+SpringMVC+MyBatis)框架

    基本概念 使用SSM(Spring,SpringMVC和Mybatis) 1.1.Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod  ...

  4. spring文章

    单元测试 spring +Junit 完美组合:https://blog.csdn.net/shan9liang/article/details/40452469#

  5. tpcc-mysql安装测试与使用生成对比图

    1:下载tpcc-mysql的压缩包,从下面的网站进行下载 https://github.com/Percona-Lab/tpcc-mysql 也可直接从叶总博客直接下载: http://imysql ...

  6. 如何向数据库中添加TIMESTAMP(6)类型的数据

    to_timestamp('2011-11-11 11:11:11.1','yyyy-mm-dd hh24:mi:ss.ff')

  7. C#中的多线程 - 多线程的使用 z

    原文:http://www.albahari.com/threading/part3.aspx 专题:C#中的多线程 1基于事件的异步模式Permalink 基于事件的异步模式(event-based ...

  8. 【Leetcode】【Medium】Binary Tree Preorder Traversal

    Given a binary tree, return the preorder traversal of its nodes' values. For example:Given binary tr ...

  9. Maven学习---使用maven进行项目构建

    1. 使用maven进行项目构建 MyEclipse 自带maven 插件 Eclipse 需要单独安装maven插件 1.1. Maven 在企业中怎么用的 ? Maven : 项目构建工具 ,进行 ...

  10. 工作好搭档(一):松林 SL-B3 人体工学椅

    本人从事码农这行职业,已经整整十年零九天,十年一觉如旧梦,仿佛昨天还在SARS. 2008年,我累到腰痛,脖子痛,怎么休息也不见好,去中医院检查,医生诊断,坐的太久,坐姿不对,运动少,轻度颈椎,腰肌劳 ...