2011-03-11 63 views
0

我有這個鏈接(如下所示)。當它被點擊時,它會發送一個帖子的ID到一個名爲delete_post.php的PHP文件中,該文件將刪除我的MySQL數據庫中包含該ID的帖子。這很有效,除了在帖子被刪除之後,帖子仍然顯示在頁面上直到它被刷新。我怎麼能這樣做,所以只要我點擊鏈接,而不是在點擊鏈接和刷新頁面之後,帖子就從我的頁面中刪除。使用php通過ajax和jquery刪除MySQL數據,顯示沒有刪除數據的頁面

<a href="javascript:$.post('delete_post.php', { id: '$row[id]' });" class='delete_post' title='delete post'>delete post</a> 

回答

2
  1. 添加ID(使用$row['id'])到被牽着你的崗位DIV /錶行(容器)。
  2. 經過AJAX is completed後,您只需hide容器。

要隱藏的容器的AJAX完成後,只需加入這樣一個回調函數修改$.post

javascript:$.post('delete_post.php', { id: '$row[id]' } , function(){ $('#row$row[id]').hide(); }); 
+0

優秀!那樣做了。 – 2011-03-11 02:30:29

+1

如果你不需要再次訪問該元素,你應該完全使用.remove()$('#row $ row [id]')從dom中刪除它。hide(0,function(){$(this ).remove()} – Trevor 2011-03-12 15:11:54

-1

還有就是後()函數,可以讓你的第三個可選參數創建一個成功執行的匿名函數。

<a href="javascript:$.post('delete_post.php', { id: '$row[id]' }, function() { location.reload(); });" class='delete_post' title='delete post'>delete post</a> 
+0

用ajax做這件事的全部原因是,我不必重新加載整個頁面。感謝您的幫助:) – 2011-03-11 02:14:07

+0

重新加載頁面?這不是阿賈克斯的事情。 – renathy 2013-05-20 08:03:03

0

我不familar與jQuery代碼(我能做到這一點的原型,如果你想要一個例子),但是,你應該重視聽衆的鏈接,而不是調用AJAX在線。這樣,您可以使用jQuery's DOM traversal functions向上移動到父div或表格行,並且在您從AJAX調用中獲得成功響應後,只需.remove()即可。