好像没找到现成的,就自己写了一个demo。

效果如下:

代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta charset="utf-8" />
<script src="../jquery-2.1.4.js"></script>
<link href="zTree_v3/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<script src="zTree_v3/js/jquery.ztree.core-3.5.js"></script> <script type="text/javascript"> //获取当前父节点 参数:等级
var getNodeByLevel = function (arr, level) {
for (var i = ; i < arr.length; i++) {
var item = arr[i];
if (item.level == level) {
return item;
}
}
return null;
}; //折叠节点 非当前父节点
var collapseNodes = function (allTwoNodes, twoNode) {
for (var i = ; i < allTwoNodes.length; i++) {
var item = allTwoNodes[i];
if ((twoNode != null) && (twoNode.id == item.id)) {
continue;
}
treeObj.expandNode(item, false, true, false);
}
} var zNodes = [
// 第一层
{ id: , pId: , name: "父节点1 - 展开", open: true }, // 第二层
{ id: , pId: , name: "父节点11 - 折叠", icon: "zTree_v3/css/zTreeStyle/img/diy/2.png", open: true },
// 第三层
{ id: , pId: , name: "叶子节点111", click: false, open: true },
{ id: , pId: , name: "叶子节点112", open: true },
// 第四层
{ id: , pId: , name: "三级1" },
{ id: , pId: , name: "三级2" },
{ id: , pId: , name: "三级3" }, // 第二层
{ id: , pId: , name: "父节点12", open: true },
// 第三层
{ id: , pId: , name: "叶子节点121" },
{ id: , pId: , name: "叶子节点122", open: true },
// 第四层
{ id: , pId: , name: "三级1" },
{ id: , pId: , name: "三级2" },
{ id: , pId: , name: "三级3" },
]; var setting = {
type: "expandAll",//全部展开
view: {
showLine: false,//不显示连接线
},
data: {
simpleData: {
enable: true
}
},
callback: { //回调函数
beforeClick: function (treeId, treeNode, clickFlag) { },
onClick: function (vent, treeId, treeNode, clickFlag) {
//console.log(treeNode);
//console.log(treeNode.getParentNode());
//console.log(treeNode.getIndex());
//console.log(treeNode.getPath());
var nodes = treeNode.getPath();
var twoNode = getNodeByLevel(nodes, );
var oneNode = getNodeByLevel(nodes, );
var allTwoNodes = oneNode.children;
collapseNodes(allTwoNodes, twoNode);
},
onCollapse: function (event, treeId, treeNode) {
//alert('onCollapse / 折叠');//折叠
},
onExpand: function (event, treeId, treeNode) {
//alert('onExpand / 展开');//展开
}
}
}; //树初始化
var treeObj = null;
$(document).ready(function () {
treeObj = $.fn.zTree.init($("#treeDemo"), setting, zNodes);
}); </script>
</head>
<body>
<div class="content_wrap">
<div class="zTreeDemoBackground left">
<!-- ztree的容器 -->
<ul id="treeDemo" class="ztree"></ul>
</div>
</div>
</body>
</html>

JQuery/JS插件 zTree树,点击当前节点展开,其他节点关闭的更多相关文章

  1. js插件---Bootstrap 树控件

    js插件---Bootstrap 树控件 一.总结 一句话总结:可以直接用gojs,或者搜索js,jquery的树控件,或者bootstrap树控件,一大堆 gojs 二.JS组件系列——Bootst ...

  2. js插件ztree使用

    最新给公司后台写了一个配置页面,在网上搜到一个js插件ztree,记录一下使用心得. 首先说一下ztree官网,好多方法我都是从官网api上学习的,官网地址http://www.treejs.cn/v ...

  3. JQuery/JS插件 jsTree加载树,预先加载,初始化时加载前三级节点,当展开第三级节点时 就加载该节点下的所有子节点

    jsTree加载树, 初始化时 加载前三级节点, 当展开第三级节点时 就加载该节点下的所有子节点 html: <!DOCTYPE html> <html> <head&g ...

  4. JQuery/JS插件 jsTree加载树,普通加载,点一级加载一级

    前端: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <tit ...

  5. jQuery.TreeView插件实现树状导航(十三)

    一:jQuery.TreeView插件简介 该插件的特点: 1.支持静态的树,即一次性将全部数据加载到客户端. 2.支持异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据. 3.支持节点级联 ...

  6. zTree怎么判断树有节点展开或者完全关闭的

    树节点有个open属性,引用API: 记录 treeNode 节点的 展开 / 折叠 状态.1.初始化节点数据时,如果设定 treeNode.open = true,则会直接展开此节点2.叶子节点 t ...

  7. JQuery Tree插件——zTree

    Demo:点击下载 zTree 在线操作演示:http://www.ztree.me/v3/demo.php#_101

  8. 一个功能丰富的 jQuery 树形插件 z-tree

    链接 如果你的树 很复杂, 需要拖拽功能, 还可以考虑用这个 另外还有一个目前在用 Dynatree 如果一般的树, 还是自己写一个, 也很轻松,    如果有一两个复杂的点, 可以参考ZTree

  9. JQuery/JS插件 日期插件

    用于日期的计算,功能比较全,我常用的主要是日期的计算(多一天少一天,或者添加几个月等),日期格式化 网址:http://momentjs.cn/ 测试代码: <!DOCTYPE html> ...

随机推荐

  1. 9 个鲜为人知的 Python 数据科学库

    除了 pandas.scikit-learn 和 matplotlib,还要学习一些用 Python 进行数据科学的新技巧. Python 是一种令人惊叹的语言.事实上,它是世界上增长最快的编程语言之 ...

  2. 禁用SSL v2.0、SSL v3.0协议

    1.禁用SSL v2.0.SSL v3.0协议,禁用低强度加密密钥.使用TLS 1 TLSv1.1 TLSv1.2版本.2.禁用SSLv2参考修补方法如下:查看本机sslv3加密列表:openssl ...

  3. linux运行.sh命令

    # chmod +x AAA.sh  授权 # ./AAA.sh                  运行  

  4. python-初始化函数

    #本次学习:初始化函数 #-*- coding:utf-8 -*- class SeniorTestingEngineer: #初始化函数,在创建对象的时候就设置初始值.例如我们在SeniorTest ...

  5. js 数组的crud操作

    增加push(); 向数组尾添加元素unshift(); 向数组头添加元素向数组指定下标添加元素:可以用Array提供的splice(); var arr = ['a','b','c']; arr.s ...

  6. mysql中的sql_mode

    mysql数据库的中有一个环境变量sql_mode,定义了mysql应该支持的sql语法,数据校验等!我们可以通过以下方式查看当前数据库使用的sql_mode: mysql> select @@ ...

  7. elasticssearch+kibanna入门(撰写中)

    看到一篇elasticssearch+kibanna的文章,觉得很好,不过例子是python的,所以使用java自己安装一下: https://mp.weixin.qq.com/s?__biz=MjM ...

  8. IIS w3wp对应的应用程序

    IIS7以前我們用IISApp查看IIS哪些服務已啟動,但在IIS7已經不適用了,新語法是appcmd.exe list wp.你可以在%windir%\system32\inetsrv\底下找到ap ...

  9. 重识linux-关于selinux

    重识linux-关于selinux 1 selinux是一个内核模块,有美国国家安全局研发,主要在基因redhat分支的系统上实现,当初的设计是未了避免用户资源的误用, 而SELINUX使用的是MAC ...

  10. tensorflow实战系列(一)

    最近开始整理一下tensorflow,准备出一个tensorflow实战系列,以飨读者. 学习一个深度学习框架,一般遵循这样的思路:数据如何读取,如如何从图片和标签数据中读出成tensorflow可以 ...