一个表格要遍历一个list集合,使用c:foreach遍历,在需要删除的按钮位置添加点击事件
οnclick="del(${remove.g_id})",传入当前删除的行id,调用方法获取,并且使用$.ajax异步传输:
function del(id){
var i=id;
var tr=document.getElementById_x(id);
$.ajax({
url: "${pageContext.request.contextPath}/userControl?action=removeOne",
data: {
g_id: i
},
type: "post",
dataType: "json",
success: function(data){
if (data.flag) {
tr.style.display="none";
alert("删除成功");
}else{
alert("删除失败");
}
},error:function(){
alert("出现了异常");
}
});
}
在java代码中获取这个行删除,然后异步传输回结果,创建一个:JSONObject jsonObject = new JSONObject();放入标志jsonObject.put("flag", flag);写入浏览器: resp.getWriter().write(jsonObject.toString());这里的写法固定,否则传回的内容就进入到error中。
如果想要删除全部的tr内容,只留下表头的tr行,需要获取除了当前行全部的tr 代码如下:
//获取除了当前节点外的所有兄弟节点
function siblings(elm) {
var a = [];
var p = elm.parentNode.children;
for(var i =0,pl= p.length;i
if(p[i] !== elm) {
a.push(p[i]);
}
}
return a;
}
删除的时候,循环遍历这个节点数组进行删除
for(var i=0;i
a[i].style.display="none";
}