zTree插件的应用
- 需要用到的js和css文件
<link rel="stylesheet" href="__PUBLIC__/zTree/css/demo.css" type="text/css">
<link rel="stylesheet" href="__PUBLIC__/zTree/css/zTreeStyle/zTreeStyle.css" type="text/css">
<link rel="stylesheet" href="__PUBLIC__/ztree/css/metroStyle/metroStyle.css" type="text/css">
<link rel="stylesheet" href="http://apps.bdimg.com/libs/bootstrap/3.3.4/css/bootstrap.css">
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.js"></script>
<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/zTree/js/jquery.ztree.core-3.5.js"></script>
<script type="text/javascript" src="__PUBLIC__/ztree/js/jquery.ztree.excheck-3.5.js"></script>
<script type="text/javascript" src="http://apps.bdimg.com/libs/bootstrap/3.3.4/js/bootstrap.min.js"></script> - 设置ztree在dome中的位置(ul 的class必须为ztree)
<div id="ztreeBodyDiv">
<ul class="ztree" id="myTree"></ul> </div>
生成列表
var _ql_ ={};
_ql_.zTree = null;
function newTree( zNodes ){
var setting = {
keep: {
leaf: true,
parent: true
},
data: {
//数据设置别名,与后台传入的数据对应
simpleData: {
enable: true,
idkey : "id",
pIdKey: "pid"
//rootPId: 0
}
},
//回调函数
callback: {
//onClick: treeOnClick,
onRightClick: treeOnRightClick
}
};
$("#myTree").html('');
//初始化zTree
$.fn.zTree.init($("#myTree"), setting, zNodes);
//获取zTree对象
_ql_.zTree = $.fn.zTree.getZTreeObj("myTree");
}
- post返回后台的数据,并显示列表
function getTreeList(){
var nt = new Date().getTime()
,pobj = { nt: nt }
,url = "{:U('createTree')}"
; (function( fpobj, furl ){
$.post( furl, fpobj, function(json){ newTree( json );
}, 'json' );
})(pobj,url);
}
getTreeList(); - 添加节点
- 可通过_ql_.zTree对象(即生成的列表对象)的getSelectedNodes()方法获取被选节点及其子节点,返回的是array类型,
var nodes = _ql_.zTree.getSelectedNodes();//返回被选节点数据
_ql_['del_seledNode'] = nodes;//用全局对象保存被选节点数据 - 添加节点
var qlas = _ql_['add_seledNode'];
if(pobj["pid"] ===){//判断是否为根节点,后台根节点的id设置为1
//为根节点时,第一个参数是插入节点的父节点的数据,第二个参数是插入节点的数据
var a = _ql_.zTree.addNodes(null,json.data); }else{
//为非跟节点时,第一个参数是插入节点的父节点的数据,第二个参数是插入节点的数据var b =_ql_.zTree.addNodes(qlas[],json.data); }
- 修改节点
- 可通过_ql_.zTree对象(即生成的列表对象)的getSelectedNodes()方法获取被选节点及其子节点,返回的是array类型,
- 修改节点
node.name = json.data;//后台传回修改的数据
_ql_.zTree.updateNode(node);//修改节点名称
- 删除节点
- 可通过_ql_.zTree对象(即生成的列表对象)的getSelectedNodes()方法获取被选节点及其子节点,返回的是array类型,
- 删除节点
var pnode = nodes[].getParentNode();//获取被选节点的父节点数据
//遍历被选节点,及其子节点并删除
for(var i=;i<nodes.length;i++){
_ql_.zTree.removeNode(nodes[i]);
}
//设置可添加子节点
pnode.isParent = true;
//更新被选节点的父节点的数据
_ql_.zTree.updateNode(pnode);
zTree插件的应用的更多相关文章
- ztree插件的使用
在bootstrap中使用ztree插件做树形架构,由于觉得原始的树形不够美观,所以改了其中的css插件 demo演示,以及各种属性的用法网站: http://www.treejs.cn/v3/de ...
- zTree插件之多选下拉菜单代码
zTree插件之多选下拉菜单代码 css和js <!--ztree树结构--> <link rel="stylesheet" type="text/cs ...
- ztree插件(JQuery Tree)
本次使用的ztree插件,基本上所有的需求都能满足,可谓功能强大. * [http://www.ztree.me/v3/api.php zTree v3.0 API 文档] * [http://www ...
- ztree插件异步加载 使用RESTEasy报错 Only resource methods using @FormParam will work as expected. Resource methods consuming the request body by other means will not work as expected.
在使用ztree插件实现异步加载时遇到后台RESTEasy接收参数问题,查看后台报错: A servlet request to the URI http://localhost:8080/area/ ...
- 使用zTree插件构建树形菜单
zTree下载:https://github.com/zTree/zTree_v3 目录: 就我看来,zTree较为实用的有以下几点: zTree 是一个依靠 jQuery 实现的多功能 “树插件”. ...
- jQuery树形菜单,使用zTree插件,异步载入 & 编辑功能&Check 共存
一.下载zTree插件 地址:http://www.ztree.me 二.HTML代码 <%@ Page Language="C#" AutoEventWireup=&quo ...
- jQuery的zTree插件
写在前面 jQuery的 zTree插件 关键代码 <%@ page language="java" contentType="text/html; charset ...
- Ztree插件,定位节点时(focus)不能进入可视区域BUG解决方案
相关插件版本: jquery.ztree.exedit-3.4.js jquery.ztree.all-3.4.js jquery-1.8.0.js function onAsyncSuccess(e ...
- ztree插件的使用及列表项拖拽的实现(jQuery)+异步加载节点数据
为了实现如图所示的树状结构图,并使列表项可拖动到盒子里,研究了ztree这个插件的使用,并仔细研究了列表项的拖动事件.完成了预期需求,对jQuery的运用得到了提高.这个插件的功能非常强大,除了基本的 ...
- PHP + zTree插件树型文件夹显示
zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点.专门适合项目开发,尤其是 树状菜单.树状数据的Web显示.权限管理等等. ...
随机推荐
- 【c&c++】变量初始化
/* 全局变量会默认初始化为0 空 和 false,局部变量要手动初始化,或者直接scanf输入值进去.如果不初始化,n可能是0也有可能是其他数,大多数情况下会是0,但不初始化是不安全的,所以Dev直 ...
- gitlab runner使用docker报错(x509: certificate signed by unknown authority)定位
如果gitlab runner使用docker,docker是普通配置,配置好后,runner就可以正常执行任务了. 另外一个环节Docker配置了tls加密连接,添加runner后,runner的配 ...
- Selenium(十二):操作Cookie、调用JavaScript、HTML5的视频播放
1. 操作Cookie 有时候我们想要验证浏览器中cookie是否正确,因为基于真实cookie的测试是无法通过白盒和集成测试的.WebDriver提供了操作Cookie的相关方法,可以读取.添加和删 ...
- 架构视角 - DDD、TDD、MDD领域驱动、测试驱动还是模型驱动?
提出问题 「领域驱动设计」之于微服务,好比麦当劳之于汉堡(个人更喜欢肯德基,汉堡要大些,麦当劳的汉堡,想吃顿饱饭,请先给我上6个
- 使用vue在开发中的一些小问题--使用vue-cli起的服务器无法在局域网访问
2.使用vue-cli起的服务器无法在局域网访问 这个很简单,在package.json文件中的js启动项配置中增加--host 0.0.0.0 注意是--host而不是-host,此时如果有--op ...
- 如何在在手机上安装linux(ubuntu )关键词:Termux
目录 Termux软件 @(如何在在手机上安装ubuntu 关键词:Termux) Termux软件 Termux是一款开源且不需要root,运行在Android终端上极其强大的linux模拟器. 首 ...
- IDEA使用svn拉取多模块项目
如果没有安装过svn客户端,安装的时候需要选择安装第二个工具,如下图所示 安装小乌龟, 自行搜索, 注意点是需要选择安装第二个工具 因为默认是不安装的, 而这个组件是集成到IDEA ”必须的” . 如 ...
- django验证码captcha
官方文档 https://django-simple-captcha.readthedocs.io/en/latest/usage.html#installation 使用命令安装pip instal ...
- Jenkins实现单一安卓项目打包多个module填坑实录
今天接手一个任务,已有项目结构上新添加了一个module,这个module打包工作需要在Jenkins上添加一个方便测试点击的打包工程 因为之前已有现成的打包工程,我直接新建了一个工程并且复制原有工程 ...
- property用法,使Python中的get方法和set方法使用更简单
方法一: class a: def __init__(self): self.__num = 1 #定义一个私有变量(以双下划线开头的是私有变量) def getNum(se ...