一個表格要遍歷一個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";
}