2011-10-13 21 views
0

我有我的網站的更新列表,這些更新是使用while循環顯示的。找到一個正確的父div,從一個ID jQuery的鏈接?

while ($update = $q -> fetch(PDO::FETCH_ASSOC)) { 

      echo '<div class="displayBox"><div> 
      <span class="date">' . $update['dateTime'] . '</span>'; 
      typeColor($update); 
      echo '</div> 
      <p class="spacer indent">' . $update['message'] . '<a id="' . $update['id'] . '" class="delete deleteUpdate" href="#">Delete</a></p> 
      </div>'; 
     } 

一旦有人點擊刪除按鈕,我運行像一個簡單的jQuery Ajax請求:

$('.deleteUpdate').click(function() { 

var id = $(this).attr('id'); 
$.ajax({data: {deleteUpdate: id}, 
      success: function() { 

     window.location = pageURL; 
    } 
}); 
}); 

成功後我重新加載頁面,是不是可以不重新加載頁面,而是改爲隱藏更新已被刪除,保存服務器請求?我如何讓jquery找到class =「displayBox」的正確父對象?

感謝

+0

的可能重複:http://stackoverflow.com/questions/2262942/event-to-remove-element-before – beerwin

回答

0

嘗試:

$('#' + id).closest(".displayBox").hide(); 
+0

好的,現在就試試,謝謝 – nvcode

0

您可以使用父功能。 http://api.jquery.com/parent/ 我會把這個放在click事件的回調中。

var self = $(this); 
$.ajax({ success:function() { 
    self.parent().hide(); 
} 
+0

這不起作用,因爲它不是父母我已經試過了! – nvcode

+0

糟糕,忘記了在回調完成的ajax請求時這個變化的範圍。更新了代碼。看看是否有效。 – Daniel

相關問題