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显示.权限管理等等. ...
随机推荐
- win10禁止自动更新的终极方法(亲测有效)
想必用过win10的朋友对其自动更新一定不会陌生,并且深恶痛绝, 有时正专注做一件事,突然就开始自动更新,被杀个措手不及,而且更新时间真的太久了,尤其最近更新频繁,真是伤脑筋, 期间也尝试 ...
- 关于如何将sublime配置C++环境的总结
首先我得说,嗯,为了这个玩意为翻烂了99%的百度能搜到的文章.研究了关于Win7 32位,64位,Win10版本的配置,Win10的已经写好了一篇文章,可是Win7党(我是都用的,在家用Win10,学 ...
- go源码解析-Println的故事
本文主要通过平常常用的go的一个函数,深入源码,了解其底层到底是如何实现的. Println Println函数接受参数a,其类型为-interface{}.用过Java的对这个应该比较熟悉,Java ...
- 松软科技web课堂:SQLServer之HAVING 子句
HAVING 子句 在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用. SQL HAVING 语法 SELECT column_name, aggregate_f ...
- Cesium区分单击【LEFT_CLICK】和双击事件【LEFT_DOUBLE_CLICK】
问题描述 在cesium中,用户鼠标左键双击视图或Entity时,实际触发的是两次click和一次dbclick事件,非常影响代码设计,本文记录了如何区分单击[LEFT_CLICK]和双击事件[LEF ...
- Java反射01 : 概念、入门示例、用途及注意事项
1.Java反射定义 本文转载自:https://blog.csdn.net/hanchao5272/article/details/79360452 官方定义如下: Reflection enabl ...
- 国内Maven仓库--阿里云Aliyun仓库地址及设置
aliyun Maven:http://maven.aliyun.com/nexus/#view-repositories 需要使用的话,要在maven的settings.xml 文 ...
- 零售行业下MongoDB在产品目录系统、库存系统、个性推荐系统中的应用【转载】
Retail Reference Architecture Part 1: Building a Flexible, Searchable, Low-Latency Product Catalog P ...
- 有static的方法和没有static的调用
package com.yh.test02; public class Test { public static void main(String[] args) { Test.method1(); ...
- 关于网站登录后的页面操作所携带的不同cookie值
对于课堂派网站,登录后的页面操作只需要携带PHPSESSID或者cookie中间那部分即可,两个都带也可,SERVERID不知道是干啥的,每次响应的都会变. 代码实现: cookie = None c ...