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

我们需要引入一个非常好用的插件,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. oracle数据库基本命令

    数据库字符集: SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; PARAMETER ...

  2. Idea15 常用设置(一):JDK、SVN

      1:显示行号  File->Settings->General->Appearance 2: 代码自动补齐即使是小写字母也会弹出代码补齐提示     3:自动编译 设置 4: 设 ...

  3. 【转】ArcGIS Server10.1安装常见问题及解决方案

    转载自:http://www.higis.cn/Tech/tech/tId/85/ 最近因为更换系统的原因,重新安装了ArcGISServer 10.1.过程中遇到了几个小问题,虽然都一一解决了,但也 ...

  4. c++开发ocx入门实践一

    原文:http://blog.csdn.net/yhhyhhyhhyhh/article/details/51374200 最近项目中利用ocx封装了底层视频播放及处理的控件,以供c#和web调用.对 ...

  5. scp 上传和下载文件

    mac和linux自带scp命令,windows的话请考虑gitbash或者专业linux工具 (默认端口为22,所以-p可不写) 上传文件 scp -p /home/lnmp.gz root@ip: ...

  6. CSS media query应用中的层叠特性使用最佳实践

    media query是css3规范中引入的,它提供了一种responsive design的基础机制:浏览器在不同size的设备中将以不同样式展现网页,这就给一个网页能够适应不同device一种可能 ...

  7. drag与drop事件

    为了支持网页上一些元素的拖动效果,可以使用drag和drog事件. 目前ie 5.0+, firefox 3.5+等都支持这些事件,ECMA Script第5版正式将其纳入标准. 对于被拖动的元素来说 ...

  8. java word转pdf 工具类

    package com.elitel.hljhr.comm.web.main.controller; import java.io.File; import java.io.FileOutputStr ...

  9. ComboBox赋值ItemsSource数据源的时候会触发SelectionChanged改变事件的解决办法

    我用的方法是设置开关 bool flag = false;//默认开关关闭(全局变量) flag = false;在赋值数据源之前设置关闭box.ItemsSource = lstProperty;/ ...

  10. 文本处理三剑客之 grep

    grep简介 grep(Global search REgular expression and Print out the line)是Linux上的文本处理三剑客之一,另外两个是sed和awk. ...