树形单击选中批量处理
批量处理在新增、删除zTree树形节点时方便了操作,我就分享下做过的批量删除节点的方法:
见效果图?
以下为实现代码与个人注解?
function DeleteC() {
var d = 0;//声明处理数据次数
var treeObj = $.fn.zTree.getZTreeObj("tree");//获取树形对象
var nodes = treeObj.getSelectedNodes();//获取树形对象中已被选中的节点数组
if (nodes.length < 1) {
layer.alert('请选择节点以删除', { icon: 0, title: '⚠' });
}
else {
for (var i = 0; i < nodes.length; i++) {//遍历选中节点数组
if (nodes[i].level == 2) {//判断节点级别
var name = nodes[i].name;
var level = nodes[i].level;
var Pname = nodes[i].getParentNode().name;//获取父节点名称
$.post('/BackgroundIndex/DeleteC', { name: name, level: level, Pname: Pname }, function (msg) {
if (msg) {
d++;//处理次数递增
}
})
}
if (nodes[i].level == 1) {
var name = nodes[i].name;
var level = nodes[i].level;
var Pname = '';
$.post('/BackgroundIndex/DeleteC', { name: name, level: level, Pname: Pname }, function (msg) {
if (msg) {
d++;//处理次数递增
}
})
}
if (nodes[i].level == 0) {
layer.alert('请勿选择职位节点进行删除', { icon: 0, title: '⚠' });
break;
}
}
}
if (d != nodes.length) {//判断处理次数是否正确
layer.alert('删除出错', { icon: 0, title: '⚠' });
}
else {
layer.confirm('成功删除' + d + '个节点信息!', { icon: 6, title: '( •̀ ω •́ )y' }, function () {
treeObj.refresh();//树形刷新方法
});
}
}
这样就可在Control键多选节点时完成批量操作相关内容了。