即时编辑
实现代码如下 详细参见http://www.360ui.net:
var setting1 = {
view: {
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom,
selectedMulti: false
},
edit: {
enable: true,
renameTitle:"修改",
removeTitle:"删除"
},
callback: {
//不允许拖拽
beforeDrag: beforeDrag1,
//修改前确认
beforeEditName: beforeEditName1,
//修改完时的处理
beforeRename: beforeRename1,
//修改成功后处理
onRename: onRename1,
//删除前确认
beforeRemove: beforeRemove1
}
};
var zNodes1 =[
{ id:1, parentId:0, name:"父节点 1", open:true},
{ id:11, parentId:1, name:"叶子节点 1-1"},
{ id:12, parentId:1, name:"叶子节点 1-2"},
{ id:13, parentId:1, name:"叶子节点 1-3"},
{ id:2, parentId:0, name:"父节点 2", open:true},
{ id:21, parentId:2, name:"叶子节点 2-1"},
{ id:22, parentId:2, name:"叶子节点 2-2"},
{ id:23, parentId:2, name:"叶子节点 2-3"},
{ id:3, parentId:0, name:"父节点 3", open:true},
{ id:31, parentId:3, name:"叶子节点 3-1"},
{ id:32, parentId:3, name:"叶子节点 3-2"},
{ id:33, parentId:3, name:"叶子节点 3-3"}
];
function initComplete(){
$.fn.zTree.init($("#tree-1"), setting1, zNodes1);
}
function beforeDrag1(treeId, treeNodes) {
return false;
}
//确认是否进入编辑状态
function beforeEditName1(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("tree-1");
//选中该节点
zTree.selectNode(treeNode);
zTree.editName(treeNode);
return true;
}
//修改完时处理不进行后台数据处理
function beforeRename1(treeId, treeNode, newName) {
if (newName.length == 0) {
top.Dialog.alert("节点名称不能为空.");
var zTree = $.fn.zTree.getZTreeObj("tree-1");
setTimeout(function(){zTree.editName(treeNode)}, 10);
return false;
}
return true;
}
//修改成功后处理
function onRename1(event, treeId, treeNode) {
//此处进行ajax后台数据处理
}
//确认是否删除+删除处理
function beforeRemove1(treeId, treeNode) {
var zTree = $.fn.zTree.getZTreeObj("tree-1");
//选中该节点
zTree.selectNode(treeNode);
top.Dialog.confirm("确认删除节点 -- " + treeNode.name + " 吗?",function(){
zTree.removeNode(treeNode);
//此处进行ajax后台数据处理
});
return false;
}
//添加新增按钮
var newCount = 1;
function addHoverDom(treeId, treeNode) {
if (treeNode.editNameFlag || $("#addBtn_" + treeNode.id).length > 0) return;
var sObj = $("#" + treeNode.tId + "_span");
var addStr = "<button type='button' class='add' id='addBtn_" + treeNode.id + "' title='添加' onfocus='this.blur();'></button>";
sObj.append(addStr);
var btn = $("#addBtn_" + treeNode.id);
if (btn){
btn.bind("click", function(){
var zTree = $.fn.zTree.getZTreeObj("tree-1");
var newNode;
newNode = zTree.addNodes(treeNode, {id:(100 + newCount), parentId:treeNode.id, name:"新增" + (newCount++)});
if (newNode) {
zTree.editName(newNode[0]);
}
return false;
});
}
};
function removeHoverDom(treeId, treeNode) {
$("#addBtn_" + treeNode.id).unbind().remove();
};
相关推荐
本项目利用JavaScript和JSTL(JavaServer Pages Standard Tag Library)技术实现了这样一个功能——“可编辑树”。下面将详细阐述这个知识点。 首先,JavaScript是一种广泛使用的客户端脚本语言,它在网页上运行,...
【标题】:“ext2的可编辑树” 在Linux操作系统中,EXT2(Second Extended File System)是一种广泛使用的文件系统,由Rene Rebeau在1992年为Linux内核2.0开发。它是EXT文件系统的后续版本,旨在解决其前代的一些...
本资源"**Treedlg.rar_treedlg_可编辑树控件_树视图**"提供了一种基于对话框的,支持对树视图控件进行编辑的源码,这对于开发者来说是一份宝贵的学习和开发参考资料。 树视图控件(TreeView Control)是MFC...
例如,`testGoogleChart`可能指的是Google Charts库中的一个示例,它可能包含了创建和编辑树形图表的功能。Google Charts提供了一套强大的API,能够生成各种图表,包括树状图,同时支持交互式操作。 在实际应用中,...
在Windows应用程序开发中,"可编辑的树形控件"是一种常见的用户界面元素,它允许用户以树状结构展示和编辑数据。这个基于VC++的示例项目提供了一个学习如何实现这种功能的机会。树形控件通常用于组织层次化的信息,...
将文件直接复制到layui/lay/modules目录下,会覆盖layui原有的tree.js,调用方法与layui树形组件的适应方式一致,新增的方法可在文件中查看
至于"插件",则意味着这是一个独立的、可复用的工具,开发者可以将其轻松引入到自己的项目中,而不必从头开始编写树形编辑功能。 在压缩包中,"tree"可能是源代码文件、示例文件或者相关的资源文件,它们包含了实现...
通过理解和掌握以上知识点,开发者能够轻松创建出满足各种需求的自定义编辑树形菜单,提升用户体验,优化交互设计。在实际项目中,结合具体的业务场景,灵活运用ZTree的各项功能,将能够更好地满足用户对数据管理和...
从压缩包文件名“ant-design-editable-tree-table-4”我们可以推测,这个压缩包包含了基于Ant Design v4的可编辑树形表格组件的所有源码和资源。开发者可能需要解压这个文件,然后在本地环境中运行和自定义这个组件...
- **可编辑性**:允许用户直接在树上修改节点内容,如重命名、删除等。 3. **交互自定义**: - **拖放功能**:允许用户通过拖放操作重新排列节点,或者将节点从一个树移动到另一个树。 - **多选模式**:提供单选...
在IT领域,尤其是在数据库管理和用户界面设计中,"树形连接数据库,可拖拽,可编辑、删除、增加"是一种常见的交互方式。这种技术主要用于构建可视化数据结构,特别是在需要展示层次关系的数据时,如文件系统、组织...
本文将深入探讨“可编辑树形甘特图”这一主题,结合提供的标签“甘特图”、“树形”和“可编辑”,以及压缩包文件“jQueryGantt-master”,我们可以推断这是一个基于jQuery实现的、支持树状结构和编辑功能的甘特图库...
NULL 博文链接:https://zyjustin9.iteye.com/blog/2121799
通过以上步骤,我们就成功地创建了一个可编辑节点的MFC树形控件。用户现在可以直接在树形控件中修改节点文本,而无需其他交互界面。记住,为了获得最佳用户体验,你可能还需要处理一些额外的细节,比如错误检查、...
此外,可能还会有一些自定义的CSS类用于控制展开/折叠状态的视觉表示,比如添加一个图标来指示可折叠性。 总的来说,这个“bootstrap树形表格js插件demo”提供了一个强大的工具,用于在Bootstrap环境中以交互方式...
金蝶云苍穹是一款先进的企业级云服务平台,它为企业提供了高度可配置的业务应用和数字化解决方案。在金蝶云苍穹中,为了更好地管理和展示复杂的企业业务数据,有时需要将数据以树形结构的方式在列表界面中呈现。这种...
在这个场景下,我们将探讨如何利用Vue和IView实现一个具有拖拽和双击编辑功能的Tree组件。 首先,让我们了解一下`Tree`组件。在Web应用中,`Tree`组件通常用于展示层级关系的数据,如文件系统、组织结构等。IView中...
在VC++的MFC(Microsoft Foundation Classes)框架中,创建一个可编辑节点的树形控件是一项常见的任务,尤其在开发具有用户交互界面的应用程序时。这个控件允许用户不仅能够浏览层次化的数据,还能直接在树形结构中...
本项目"vued3treeVUE实现自定义节点的树结构"是基于Vue.js和D3.js的一个示例,旨在展示如何在Vue中利用D3库创建可自定义的树形数据结构。D3.js是一个强大的数据可视化库,它允许开发者通过数据操作DOM(文档对象模型...
React可编辑的Json树演示版演示在这里可用:特征杰森查看器通过功能折叠节点的可能性添加新的节点值删除节点值更新节点值隐式转换新值({}表示对象,[]表示数组,true表示布尔值,...) 通过功能样式只读的可能性...