layerUI框架下|layerUI框架下 ztree删除按钮取消实现( layer.confirm confirm beforeRemove onRemove)

//之前在onRemove方法里纠结了很久,最后的结果是没用他,confirm 在beforeRemove里不知道为什么会不被阻塞直接弹框一闪而过执行(各种奇葩),经过一番努力这是最后的结果,功能可以实现。

function beforeRemove (treeId, treeNode){//删除节点之前


var flag=false; //此处必须定义一个变量,不然还没确定就把节点从树上删除 layer.confirm("确认要删除当前节点("+treeNode.catalogName+")及其子节点吗?", { btn: ['确定','取消'] }, function(){ var parms = { 'id': treeNode.id, 'catalogId': treeNode.catalogId, 'catalogName': treeNode.catalogName, 'catalogPath': treeNode.catalogPath };

$.postJSON("${webRoot}/materialcatalog/delete", parms, function (result) {if (result.code == '0') { flag=true; alert(flag); var treeObj = $.fn.zTree.getZTreeObj("busTree"); var nodes = treeObj.getSelectedNodes(); if (nodes && nodes.length>0) { treeObj.removeChildNodes(nodes[0]); //删除当前节点子节点 treeObj.removeNode(nodes[0]); //删除当前节点 } layer.closeAll('dialog'); } else { alertMsg(result.msg); layer.close(index); } }) }, function(index){ layer.close(index); flag=false; }) return flag; }

/* *重写post * * */ $.postJSON = function (url, data, callback) { return jQuery.ajax({ 'type': 'POST', 'url': url, 'contentType': 'application/json', 'data': JSON.stringify(data), 'dataType': 'json', 'success': callback }); };


    推荐阅读