zTree使用实例
来源:互联网 发布:把mysql的表放到redis 编辑:程序博客网 时间:2024/06/03 22:39
var this_; var this_id; var this_name; var this_data; var this_pId; var p_tId; //zTree配置开始 $(".zTreeDom_close").click(function(){//关闭zTree按钮 $(".zTreeDom").hide(); $("#treeDemo").hide(); }) $("#zTreeDom_save").click(function(){//保存数据 $("#ztree_add").hide(); var treeObj = $.fn.zTree.getZTreeObj("treeDemo");var child = treeObj.getNodes();var ztreeNodes = [];function children (child) {for(var i = 0; i < child.length; i++){var data = {name:child[i].name,data:child[i].data};ztreeNodes.push(data);var childs = child[i].children;if(childs == undefined){continue;}else{children(childs);}}}children (child)console.log(ztreeNodes); }) $(document).mousedown(function(){//右键的小菜单消失 $("#ztreeRight").hide(); }); $("#ztreeRight_add").mousedown(function(){ $("#ztree_add").show(); $("#add_content").find("input").eq(0).val("");$("#add_content").find("input").eq(1).val(""); }) $("#ztreeRight_remove").mousedown(function(){//确定是否删除节点弹框 var c = confirm("是否删除") if(c == true){ var ztree = $.fn.zTree.getZTreeObj("treeDemo"); ztree.removeNode(this_); //删除节点 } }) $("#add_save").click(//弹框保存按钮 function(){ this_name = $("#add_content").find("input").eq(0).val(); this_data = $("#add_content").find("input").eq(1).val(); var rag = /^\s$/;if(rag.test(this_name) || rag.test(this_data) || this_name == "" || this_data == ""){ return alert("请输入内容"); } var treeObj = $.fn.zTree.getZTreeObj("treeDemo"); //添加节点 var newNode = {name:this_name, data:this_data}; treeObj.addNodes(this_, newNode); $("#ztree_add").hide(); } ) $(".add_close").click(//弹框关闭按钮 function(){ $("#ztree_add").hide(); } ) var dragId; var p_tId;var setting = {view: {selectedMulti: false, //禁止多选addHoverDom: addHoverDom, //当鼠标移动到节点上时,显示用户自定义控件 removeHoverDom: removeHoverDom, //离开节点时的操作 },edit: {enable: true, //zTree是否可编辑showRemoveBtn: true,//是否显示删除节点按钮showRenameBtn: false,//是否显示编辑按钮removeTitle: "删除",drag: { prev: true, //拖拽节点,是否允许放在目标节点前 next: true, //拖拽节点,是否允许放在目标节点后 inner: false //拖拽节点,是否允许放在目标节点里 },//editNameSelectAll: true},data: {simpleData: {enable: true //初始化或添加节点时,是否使用简单的Arr数据}},callback: {beforeRemove: beforeRemove,beforeDrag: beforeDrag, beforeDrop: beforeDrop, //拖拽之前,是否允许拖拽beforeRightClick:beforeRightClick,onRightClick: rightClick //右键事件 }}; var zNodes =[{ id:1, pId:0, name:"总公司", open:true,data:20},{ id:2, pId:1, name:"一分公司", open:true},{ id:3, pId:2, name:"总经办", open:true},{ id:4, pId:3, name:"总经理", open:true},{ id:7, pId:3, name:"销售经理"},{ id:8, pId:3, name:"售后经理"},{ id:9, pId:1, name:"二分公司",open:true}];function addHoverDom(treeId, treeNode) { //自定义hover添加节点var sObj = $("#" + treeNode.tId + "_span"); //获取名字节点信息 if (treeNode.level >= 3 || treeNode.editNameFlag || $("#addBtn_"+treeNode.tId).length>0){//最多出现一个加号按钮 return; } var addStr = "<span class='ztreeAddBtn button' id='addBtn_" + treeNode.tId + "' title='添加' data-target='#myModal' onfocus='this.blur();'></span>"; //定义添加按钮 sObj.after(addStr); //在名字后面添加按钮 var btn = $("#addBtn_"+treeNode.tId);//获取当前按钮btn.bind("click", function(event){ //添加按钮点击效果this_ = treeNode;$("#add_content").find("input").eq(0).val("");$("#add_content").find("input").eq(1).val("");$("#ztree_add").show();$("#ztree_add").css({left:event.clientX+$(document).scrollLeft()+100,top:event.clientY+$(document).scrollTop()-50});}); }function removeHoverDom(treeId, treeNode) { //自定义hover添加节点$("#addBtn_"+treeNode.tId).unbind().remove(); }function beforeRemove(treeId, treeNode) {//hover删除按钮var c = confirm("是否删除");if(c){return true;}else{return false;}}function beforeDrag(treeId, treeNodes) {//拖拽之前获取当前的pIdfor (var i=0; i<treeNodes.length; i++) { dragId = treeNodes[i].pId; p_tId = treeNodes[i].getParentNode().tId;}return true;}function beforeDrop(treeId, treeNodes, targetNode, moveType) { if(targetNode.pId == dragId && targetNode.getParentNode().tId == p_tId){//如果pId不同则不能拖拽过去 return true; }else{ return false; }}function beforeRightClick(treeId, treeNode) {if(treeNode != null){//只有右键点击文件才会出现小菜单return true;}else{return false;}};function rightClick(event, treeId, treeNode){//小菜单出现的位置以及出现的条件console.log(treeNode);this_pId = treeNode.pId;this_id = treeNode.id;this_ = treeNode;$("#ztreeRight").show();$("#ztreeRight").css({left:event.clientX+$(document).scrollLeft(),top:event.clientY+$(document).scrollTop()});if(treeNode.level >= 3){$("#ztreeRight_add").hide();}else{$("#ztreeRight_add").show();}};function selectAll() {var zTree = $.fn.zTree.getZTreeObj("treeDemo");zTree.setting.edit.editNameSelectAll = $("#selectAll").attr("checked");};$(document).ready(function(){$.fn.zTree.init($("#treeDemo"), setting, zNodes);$("#selectAll").bind("click", selectAll);}); //zTree配置结束
<img src="http://img.blog.csdn.net/20161019132828048?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
0 0
- zTree使用实例
- ztree插件使用实例
- zTree树形菜单使用实例
- zTree实例
- zTree实例
- ztree实例
- zTree实例
- zTree 实例
- ztree实例
- ztree 使用
- zTree使用
- zTree使用
- ztree 使用
- ztree使用
- zTree使用
- ztree使用
- Jquery zTree实例
- Ztree部分实例
- 不容易系列之(3)—— LELE的RPG难题
- 多类型的RecyclerView
- Android实践 -- apktool 的使用
- sql多条件多字段排序
- CI框架源码解析一之入口文件index.php
- zTree使用实例
- android开发-Listview中显示不同的视图布局
- 吊炸天!74款APP完整源码!
- 将一个数组变成二叉树
- app/system server/service manager等如何访问kernel binder
- 获取http的pdf文件并存到本地转为img
- CentOS7.0上部署kubernetes集群 + 简单应用示例
- php循环语句 for()与foreach()用法区别介绍
- 稀疏编码