ztree增删改和拖动

来源:互联网 发布:淘宝网上客服服务时间 编辑:程序博客网 时间:2024/04/29 19:14

页面:<ul style="width: 500px;" id="treeDemo" class="ztree"></ul>

js:function loadClassList(parentId){

var setting = {
async: {
enable: true,
url:"../classifi/getClassifiList.action",
   autoParam:["id"],
otherParam: ["parentId",parentId],
dataFilter: filter
},

view: {expandSpeed:"",
addHoverDom: addHoverDom,
removeHoverDom: removeHoverDom,
selectedMulti: false
},
edit: {
enable: true
},
data: {
simpleData: {
enable: true
}
},
callback: {
beforeRemove: beforeRemove,
beforeRename: beforeRename,
onRemove: zTreeOnRemove,
onRename: zTreeOnRename,
onDrop: zTreeOnDrop
}
};




function filter(treeId, parentNode, childNodes) {
if(typeof(childNodes)=="object"){
return childNodes;
}else{
$("#treeDemo").append("<div id='addNode'>添加</div>");
$("#addNode").click(function(){
$.ajax({
url:"../classifi/addClassiFi.action?parentId="+$(".select_area option:selected").attr("value")+"&name=new_node",
success:function(data){
add_class_tree($(".select_area option:selected").attr("value"));
}
});
});

return null;
}

}
/***
* treeNodes:移动的节点
* targetNode:接收移动节点的节点
*/
function zTreeOnDrop(event, treeId, treeNodes, targetNode, moveType) {//移动之后的事件
   var node = targetNode ? (targetNode.id) : "isRoot";//获得父节点
var parentId;
if(node=="isRoot"){//判断是否为根节点
parentId=$("#select_area option:selected").attr("value");
}else{
parentId=node;
}
var url2="../classifi/updateClass.action?parentId="+parentId+"&id="+treeNodes[0].id+"&name="+treeNodes[0].name;
url2 = encodeURI(url2);
url2 = encodeURI(url2);
$.ajax({
url:url2,
success:function(data){
alert("修改成功!");
}
});
};

function beforeRemove(treeId, treeNode) {//点击删除按钮后的事件,弹出确认按钮
var zTree = $.fn.zTree.getZTreeObj("treeDemo");
zTree.selectNode(treeNode);
return confirm("确认删除 节点 -- " + treeNode.name + " 吗?");
}

function zTreeOnRemove(event, treeId, treeNode) {//确定删除之后
var node = treeNode.getParentNode();//获得父节点
var parentId;
if(node==null){//判断是否为根节点
parentId=$("#select_area option:selected").attr("value");
}else{
parentId=node.id;
}
$.ajax({
url:"../classifi/deleteClass.action?parentId="+parentId+"&id="+treeNode.id,
success:function(data){
alert("删除成功!");
add_class_tree($(".select_area option:selected").attr("value"));
}
});
}

function beforeRename(treeId, treeNode, newName) {//修改名字之前
if (newName.length == 0) {
alert("节点名称不能为空.");
return false;
}
return true;
}
function zTreeOnRename(event, treeId, treeNode, isCancel) {//确认修改名字
var node = treeNode.getParentNode();//获得父节点
var parentId;
if(node==null){//判断是否为根节点
parentId=$("#select_area option:selected").attr("value");
}else{
parentId=node.id;
}
var url2="../classifi/updateClass.action?parentId="+parentId+"&id="+treeNode.id+"&name="+treeNode.name;
url2 = encodeURI(url2);
url2 = encodeURI(url2);
$.ajax({
url:url2,
success:function(data){
alert("修改成功!");
}
});
}

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");
$.ajax({
url:"../classifi/addClassiFi.action?parentId="+treeNode.id+"&name=new_node",
success:function(data){
zTree.addNodes(treeNode, {id:data, pId:treeNode.id,name:"new_node"});
}
});
return false;
});
};

function removeHoverDom(treeId, treeNode) {//鼠标离开节点,移除三个编辑按钮
$("#addBtn_"+treeNode.tId).unbind().remove();
};


$(document).ready(function(){
$.fn.zTree.init($("#treeDemo"), setting);
});
}
0 0
原创粉丝点击