<SCRIPT type="text/javascript">
var setting = {
view : {
addHoverDom : addHoverDom,
removeHoverDom : removeHoverDom,
selectedMulti : false
},
edit : {
enable : true,
editNameSelectAll : true,
showRemoveBtn : showRemoveBtn,
showRenameBtn : showRenameBtn
},
data : {
simpleData : {
enable : true
}
},
callback : {
beforeDrag : beforeDrag,
beforeEditName : beforeEditName,
beforeRemove : beforeRemove,
beforeRename : beforeRename,
onRemove : onRemove,
onRename : onRename,
beforeClick : beforeClick,
onAsyncSuccess : zTreeOnAsyncSuccess
}
};

var zNodes = [];
var log, className = "dark";

function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.refresh();
};

function beforeClick(treeId, treeNode) {
//alert(treeId + ' | ' + treeNode.pId + ' | ' + treeNode.tId);
//windows.open("${contextPath}/auth/functionform","窗口名称","height=100,width=100");
//windows.iframe_a.location.href = "${contextPath}/auth/functionform";
/* <a href="${contextPath}/auth/functionform?fid=${v.fid}" target="iframe_a">W3School.com.cn</a> */

alert(treeNode.id);

if (treeNode.level == 0) {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.expandNode(treeNode);
return false;
}

//windows.rightFrame.location.href="${contextPath}/auth/functionform";
ajax_get("${contextPath}/auth/removeztree", "&id=" + treeNode.id, function(data) {
//var data=obj;
if (data.errorMessage) {
showmsg(0, data.errorMessage);
} else {
//showmsg(1, "处理成功!");
//$('#id').val=(data.xxx);
}
});

return true;
}

function beforeDrag(treeId, treeNodes) {
return false;
}
function beforeEditName(treeId, treeNode) {
className = (className === "dark" ? "" : "dark");
showLog("[ " + getTime() + " beforeEditName ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.selectNode(treeNode);
//return confirm("进入节点 -- " + treeNode.name + " 的编辑状态吗?");
return true;
}
function beforeRemove(treeId, treeNode) {
className = (className === "dark" ? "" : "dark");
showLog("[ " + getTime() + " beforeRemove ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.selectNode(treeNode);
return confirm("确认删除 节点 -- " + treeNode.name + " 吗?");
}
function onRemove(e, treeId, treeNode) {
ajax_get("${contextPath}/auth/removeztree", "&id=" + treeNode.id, function(data) {
if (data.errorMessage) {
showmsg(0, data.errorMessage);
} else {
showmsg(1, "处理成功!");

}
});
showLog("[ " + getTime() + " onRemove ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name);
}
function beforeRename(treeId, treeNode, newName, isCancel) {
className = (className === "dark" ? "" : "dark");
showLog((isCancel ? "<span style='color:red'>" : "") + "[ " + getTime() + " beforeRename ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name
+ (isCancel ? "</span>" : ""));
if (newName.length == 0) {
alert("节点名称不能为空.");
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
setTimeout(function() {
zTree.editName(treeNode);
}, 10);
return false;
}

ajax_get("${contextPath}/auth/renameztree", "&id=" + treeNode.id + "&sname=" + newName, function(data) {
if (data.errorMessage) {
showmsg(0, data.errorMessage);
} else {
showmsg(1, "处理成功!");
}
});
return true;
}
function onRename(e, treeId, treeNode, isCancel) {
showLog((isCancel ? "<span style='color:red'>" : "") + "[ " + getTime() + " onRename ]&nbsp;&nbsp;&nbsp;&nbsp; " + treeNode.name
+ (isCancel ? "</span>" : ""));
}
function showRemoveBtn(treeId, treeNode) {
/* return !treeNode.isFirstNode; */
return true;
}
function showRenameBtn(treeId, treeNode) {
/* return !treeNode.isLastNode; */
return true;
}
function showLog(str) {
if (!log)
log = $("#log");
log.append("<li class='"+className+"'>" + str + "</li>");
if (log.children("li").length > 8) {
log.get(0).removeChild(log.children("li")[0]);
}
}
function getTime() {
var now = new Date(), h = now.getHours(), m = now.getMinutes(), s = now.getSeconds(), ms = now.getMilliseconds();
return (h + ":" + m + ":" + s + " " + ms);
}

var newCount = 1;
function addHoverDom(treeId, treeNode) {
var sObj = $("#" + treeNode.tId + "_span");
if (treeNode.editNameFlag || $("#addBtn_" + treeNode.tId).length > 0)
return;
var addStr = "<span class='button add' id='addBtn_" + treeNode.tId + "' title='add node' onfocus='this.blur();'></span>";
sObj.after(addStr);
var btn = $("#addBtn_" + treeNode.tId);
if (btn) {
btn.bind("click", function() {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");

var spId = treeNode.id;
var sname = "new node" + (newCount++);
var sid = RndNum(8);
addztree(sid, spId, sname);
zTree.addNodes(treeNode, {
id : sid,
pId : spId,
name : sname
});
return false;
});
}
};

function addztree(id, pId, name) {
ajax_get("${contextPath}/auth/addztree", "&id=" + id + "&pid=" + pId + "&sname=" + name, function(data) {
if (data.errorMessage) {
showmsg(0, data.errorMessage);
} else {
showmsg(1, "处理成功!");
}
});
}

function RndNum(n) {
var rnd = "";
for (var i = 0; i < n; i++)
rnd += Math.floor(Math.random() * 10);
return rnd;
}

/* function guid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
var r = Math.random()*16|0, v = c == 'x' ? r : (r&0x3|0x8);
return v.toString(16);
});
} */

function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.tId).unbind().remove();
};
function selectAll() {
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.setting.edit.editNameSelectAll = $("#selectAll").attr("checked");
}

$(document).ready(function() {

var s = $('#hinitnodes').val();
if (s != "") {
s = s.replace(/\'/g, "\"");
zNodes = JSON.parse(s);
}

$.fn.zTree.init($("#treeDemo"), setting, zNodes);
$("#selectAll").bind("click", selectAll);
});
</SCRIPT>

ztree edit_super的更多相关文章

  1. 可编辑ztree节点的增删改功能图标控制---已解决

    每文一语:休倚时来势,提防运去时 <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - beforeEd ...

  2. javascript入门 之 zTree(十四 增删查改)(一)

    <!DOCTYPE html> <HTML> <HEAD> <TITLE> ZTREE DEMO - beforeEditName / beforeRe ...

  3. ztreeDeptSelect 基于jquery和ztree的部门选择插件

    插件介绍 首先我们来看插件的功能演示(效果): 插件准备好后.前台只需编写html: <input type="text" class="deptName" ...

  4. C#使用Jquery zTree实现树状结构显示_异步数据加载

    JQuery-Ztree下载地址:https://github.com/zTree/zTree_v3 JQuery-Ztree数结构演示页面:  http://www.treejs.cn/v3/dem ...

  5. 【笔记】ztree的使用

    引用的js和css: <!-- zTreeJS --><script type="text/javascript" src="jquery/jquery ...

  6. zTree和SweetAlert插件初探

    1.zTree插件简介 zTree是一个依靠 jQuery实现的多功能“树插件”.优异的性能.灵活的配置.多种功能的组合是zTree最大优点.专门适合项目开发,尤其是树状菜单.树状数据的Web显示.权 ...

  7. jQuery.zTree的跳坑记录

    最近项目用到树型结构的交互,一开始并不打算选择zTree,为了项目进度我妥协了,这一妥协后果就是我进坑了,在2天的挣扎中,我终于跳出坑了,活了下来,有一些感慨纪录下来. 有一个业务场景需要2个树型结构 ...

  8. ztree + ashx +DataTable +Oracle

    问题描述 好久没有使用ztree了,刚才在使用ztree做导航时遇到了几个小问题: 1.返回数据源是undefined . 2.数据出现后树结构没有出现(pIdKey单词拼写错误). 3.在使用Ora ...

  9. js树形控件—zTree使用总结

    0 zTree简介 树形控件的使用是应用开发过程中必不可少的.zTree 是一个依靠 jQuery 实现的多功能 “树插件”.优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. 0.0 ...

随机推荐

  1. sql server 查询分析器消息栏里去掉“(5 行受影响)”

    sql server 查询分析器消息栏里去掉"(5 行受影响)"     在你代码的开始部分加上这个命令: set nocount on   记住在代码结尾的地方再加上: set ...

  2. jquery之wrap(),wrap(),unwrap()方法详解

    [注]wrap():为每个匹配元素外面添加指定的HTML结构, wrapAll(): 为所有匹配元素(作为一个整体)外面添加一个指定的HTML结构 原文地址:http://www.365mini.co ...

  3. iOS - Swift Swift 语言新特性

    1.Swift 2.0 带来哪些新变化 常规变化: 1.OS X 10.11.iOS 9 和 watchOS 2 SDK 采纳了一些 Objective-C 的特性用来提高 Swift 的编程体验, ...

  4. SAS Annotated Output GLM

    SAS Annotated Output GLM   在使用SAS过程中,proc glm步输出离差平方和有4种算法,分别是SS1 SS2 SS3 SS4 下面文章介绍了其中SS3的具体计算步骤和例子 ...

  5. Runtime.getRuntime().addShutdownHook

      Runtime.getRuntime().addShutdownHook(shutdownHook); 这个方法的含义说明: 这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会 ...

  6. Spring AOP执行方法

      execution(* springinaction.springidol.Instrument.play(..)) * 代表返回为任意类型 springinaction.springidol.I ...

  7. Win7_提高性能

    1. 设置成经典主题:桌面->右键->个性化->经典主题 2. 计算机->右键->属性->高级系统设置 ==> 系统属性->高级->性能-> ...

  8. 无限极分类,传递一个父ID,返回所有子集

    方法: static public function getChildren($data,$pid){ $arr=array(); foreach ($data as $v) { if ($v['pi ...

  9. 【夯实Mysql基础】记一次mysql语句的优化过程!

      1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同 ...

  10. Git基本交互流程图