这是关于选择树节点的一个就只能删除一个节点,当删除的是父节点的时候,子节点不会跟着删除,怎么改才能当选择的是父节点的时候一起删除她的子节点,选择的是子节点的时候就只是删除子节点
//删除
function Delete(id) {
var falg = 0
var lst = $(".chkbox:checkbox")
lst.each(function () {
if ($(this).attr("checked")) {
falg++;
}
});
if (falg > 0) {
if (confirm("是否确认删除?")) {
$("#fm").form("submit", {
url: "/MainManagement/ProjectDetails/Delete/0/" + id,
onSubmit: function () {
return $(this).form("validate")
},
success: function (result) {
if (result == "OK") {
alert("删除成功!");
location.href = "/MainManagement/ProjectDetails/List";
}
else {
alert(result);
}
}
});
}
}
else {
alert("请选择要删除的项!");
}
}
和你说2种思路吧!实现的方式有2种,
第一种:是以jquery的方式,把所有选中的节点的ID放入一个集合,用ajax传入后台,依次删除。这期间你需要取得页面所有选中的checkbox的集合。push进Array()。
$.ajax({ type: "post", url: "/MainManagement/ProjectDetails/Delete/0/" + id", traditional: true, //这里取消深度实例化, data: { "array": arr },//你页面上选中的需要删除的ID集合。这一步你要自己去实现,首要工作 success: function (resultdata) { } });
后台Action里接收用 int [] array,即可。然后读取集合依次删除就行。
第二种:
你可以传入你选的节点的ID,点击删除,后台查询该节点的子节点集合。然后一并删除。这种情况只适合你的节点数据都是已经存在于数据库里的。
我是在后台处理的,已经处理好了,谢谢
@一个人的忧伤: 嗯!
你在/MainManagement/ProjectDetails/Delete/0/这个控制器里面修改下 //虽然不知道你最后的0是干啥的
当删除节点的时候判断是否有子节点,有则一同删除
删除父节点的时候先遍历删除该父节点下面的所有字节点,最后删除父节点