ztree--插件实现增删改查demo(完整版)
var setting = {
async: {
enable: true, //开启异步加载处理
dataFilter: filter //用于对 Ajax 返回数据进行预处理的函数
},
view: {
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom,
selectedMulti: false,
},
check: {
enable: false
},
data: {
simpleData: {
enable: true
}
},
edit: {
enable: true,
removeTitle: "删除",
renameTitle: "编辑名称"
},
callback: {
//用于捕获节点被删除之前的事件回调函数,并且根据返回值确定是否允许删除操作
beforeRemove: beforeRemove,
//用于捕获节点编辑名称结束(Input 失去焦点 或 按下 Enter 键)之后,
//更新节点名称数据之前的事件回调函数,并且根据返回值确定是否允许更改名称的操作
beforeRename: beforeRename,
//用于捕获节点被点击的事件回调函数
onClick: zTreeOnClick
}
};
var zNodes = date;
$.fn.zTree.init($("#treeDemo"), setting, zNodes);
$('.ico_open').remove();
$('.ico_docu').remove();
//添加新的节点
function addHoverDom(treeId, treeNode) {
if (treeNode.level === 2) {
return false;
} else {
var sObj = $("#" + treeNode.tId + "_span");
if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0) return;
if (treeNode.level === 0) {
var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
+ "' title='添加部门' onfocus='this.blur();'></span>";
sObj.after(addStr);
}
if (treeNode.level === 1) {
var addStr = "<span class='button add' id='addBtn_" + treeNode.tId
+ "' title='添加班组' onfocus='this.blur();'></span>";
sObj.after(addStr);
}
var btn = $("#addBtn_" + treeNode.tId);
if (btn) btn.bind("click", function () {
if (treeNode.name) {
var parentId = treeNode.id;
var orgName = treeNode.name;
$.ajax({
url: baseUrl + 'system/department/add',
type: "post",
data: {
orgName: orgName,
parentId: parentId
},
success: function (res) {
if (res.status == "0000") {
toastr.success('添加成功!')
me.ztree()
} else {
toastr.error('添加失败!')
}
}
});
}
});
}
};
function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.tId).unbind().remove();
};
//删除节点信息
function beforeRemove(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.selectNode(treeNode);
if (treeNode.name) {
var sids = [];
sids.push(treeNode.id)
$.ajax({
url: baseUrl + 'system/department/delete',
type: "post",
data: {
sids: sids
},
success: function (res) {
if (res.status == "0000") {
toastr.success('删除成功')
} else {
toastr.error(res.message)
me.ztree()
}
}
});
} else {
window.location.reload();
}
}
//修改节点信息
function beforeRename(treeId, treeNode, newName) {
if (newName.length == 0) {
toastr.error('节点名称不能为空')
return false;
} else if (newName.length >= 15) {
toastr.error('节点名称长度不得超出14个字符')
return false;
} else if (/^\s+$/gi.test(newName)) {
toastr.error('节点名称不能以空格')
return false;
}
var pNode = treeNode.getParentNode();
var parentId;
var sid = treeNode.id;
if (pNode == null) {
parentId = 0;
} else {
parentId = pNode.id;
}
$.ajax({
url: baseUrl + 'system/department/edit',
type: "post",
data: {
sid: sid,
orgName: newName,
parentId: parentId
},
success: function (res) {
if (res.status == "0000") {
toastr.success('修改成功!')
} else {
toastr.error('修改失败!')
}
}
});
}
//修改异步获取到的节点name属性
function filter(treeId, parentNode, childNodes) {
if (!childNodes) return null;
for (var i = 0, l = childNodes.length; i < l; i++) {
childNodes[i].name = childNodes[i].name.replace(/\.n/g, '.');
}
return childNodes;
}
//点击节点后, 弹出该节点的 tId、name 的信息
function zTreeOnClick(event, treeId, treeNode) {
if (treeNode.pId === null || treeNode.pId==0) {
$('#table').bootstrapTable('refresh', {
url: baseUrl + 'system/person/list?organizationId=' + ""
})
} else {
$('#table').bootstrapTable('refresh', {
url: baseUrl + 'system/person/list?organizationId=' + treeNode.id
})
}
};
- ssm学习(四)--完整的增删改查demo
上一篇文章简要介绍了将sping mvc加入整个框架,算是完成了ssm的集成.本节继续前面的内容,结合spring mvc做一个简单的增删改查demo. 1.首先,重写一下GeckoList.jsp页 ...
- 【讲义提纲】以一个实战新闻cms增删改查demo为例,给学院国创队伍培训php
PHP实战基础——以一个新闻cms的增删改查为例 一. 环境配置 二. 数据库创建 三. 增删改查demo 连接数据库 <?php $link=mysq ...
- mvc模式jsp+servel+dbutils oracle基本增删改查demo
mvc模式jsp+servel+dbutils oracle基本增删改查demo 下载地址
- mvc模式jsp+servel+jdbc oracle基本增删改查demo
mvc模式jsp+servel+jdbc oracle基本增删改查demo 下载地址
- SSH登录与增删改查demo详解+源代码
点击下载,测试绝对可用SSH整合框架登录加增删改查demo 下载地址:http://download.csdn.net/detail/qq_33599520/9784679 一.框架概述 spri ...
- hibernate之增删改查demo
package dao; import java.util.ArrayList; import java.util.List; import org.hibernate.Query; import o ...
- asp.net数据库增删改查demo
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- spring boot + jpa + bootstrap + thymeleaf 简单的增删改查Demo
对springboot和bootstrap初学者来说是一个不错Demo 下载地址:点击进入下载Demo 首页(http://localhost:8081) 增加 编辑 搜索
- Vue 增删改查 demo
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
随机推荐
- ios6:新特征介绍
下面我们分别来看看这些特征的一些介绍: 1.地图 iOS6抛弃了一直用的google map,而使用了自家的地图服务.相应地,MapKit框架也自然变成和Apple自家的地图服务绑定了.随之而 ...
- 关于鼠标不敏感导致自以为ubuntu很怪的问题
你要相信自己拥有的确实是一个垃圾鼠标,而不要以为复制和粘贴有感觉控制不住.
- PXE_kickstart安装Ubuntu
1.准备 1.1.apt-get remove iptables卸载IP过滤表1.2.下载镜像 2.DHCP安装2.1.apt-get install dhcp3-server(在ubuntu12中, ...
- 何时使用padding和margin
先看看这张图: 重点其实是background-image CSS边距属性定义元素周围的空间.通过使用单独的属性,可以对上.右.下.左的外边距进行设置.也可以使用简写的外边距属性同时改变所有的外边距. ...
- Java并发--synchronized
以下是本文的目录大纲: 一.什么时候会出现线程安全问题? 二.如何解决线程安全问题? 三.synchronized同步方法或者同步块 转载原文链接:http://www.cnblogs.com/dol ...
- CentOS 7.0 yum安装Apache、PHP和MySQL
centos7默认将mariadb视作mysql. p.s.因为mysql被oracle收购后,原作者担心mysql闭源,所以又写了一个mariadb,这个数据库可以理解为mysql的分支. 卸载ma ...
- C# 线程间不能调用剪切板的问题
最近做一个项目,需要用到线程,而且要用到剪切板,创建了一个子线程之后发现在子线程中剪切板上获取不到数据,当时特别纳闷,上网查资料,最后终于搞定,现将解决方法归纳如下: 第一步: public void ...
- 笔记:加密 RSA AES
笔记:加密 RSA AES RSA 是非对称加密,有公钥和私钥. RSA算法原理(一) http://www.ruanyifeng.com/blog/2013/06/rsa_algorithm_par ...
- servlet运作机制
最近研究zipkin,在研究客户端brave的时候,才算开始理解servlet了. servlet只是tomcat被实例化一次: 之后每次访问其实都是对同一个servlet示例操作:所以, ...
- VS2010 无法启动程序,系统找不到指定的文件
1>------ 已启动生成: 项目: work, 配置: Debug Win32 ------1>生成启动时间为 2018/1/9 14:01:16 下午.1>Initialize ...