使用$.ajax動態刪除表格行

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章