jQuery Ajax delete

Posted on July 17, 2009 by Ashley

Removing contents with Ajax is a useful tool to have in any web designers kit. Using a few lines of jQuery we can remove a div and simultaneously remove a record from the database with Ajax. In the download and demo you’ll see a small red cross to the right of each comment. Clicking the cross will remove the comment div with a slide up animation which will remove the div. click the image below to check out the demo.

jquery-delete

The Code

We start by writing the dom ready function to simply hide our loading message div which is used as a visual representation to the user when we go to delete a comment.

$(document).ready(function() {
$('#load').hide();
});

The next block of code is what essentially does the hard work. we have a .click function to start with that when run fades in the ‘#load’ div to show the user that we’re deleting the item.

We then set the variable ‘commentContainer’ which is set to represent the parent element to ‘.delete’ which is the div ‘.box’ as show in the image below.

var commentContainer = $(this).parent();

jquery-delete1

The variable ‘id’ is then set with the value of the delete button id which would could be the id of the row in the database that you want to delete. This is then posted to the page delete.php. once the Ajax request has been made and a response has been acknowledged we then slide up and remove the div ‘.box’ and fade out the loader. Finally ‘return False;’ is added to the end of the function in order to stop the page from refreshing as we are using an ‘a tag’.


$(function() {
$(".delete").click(function() {
$('#load').fadeIn();
var commentContainer = $(this).parent();
var id = $(this).attr("id");
var string = 'id='+ id ;

$.ajax({
   type: "POST",
   url: "delete.php",
   data: string,
   cache: false,
   success: function(){
	commentContainer.slideUp('slow', function() {$(this).remove();});
	$('#load').fadeOut();
  }

 });

return false;
	});
});

I have left the delete.php page for you to add your own database connection script and query in order to use the code for your own needs. If however you have any questions on how to set this up please let me know below.

The complete code along with images is available to download below.

demodownload

This entry was posted in Downloads, Javascript, PHP, Tutorials, jQuery, popular and tagged , , , . Bookmark the permalink.
Comments
53 discussions around jQuery Ajax delete
Older Comments
  1. Virtulian says:

    Hi
    I am new in jquery so thank you for that as it helps me lot.

    Regards

  2. Ashley says:

    @ Virtulian,

    Glad you found it helpful thanks for passing by :)

    Ashley

  3. Adam says:

    Great tutorial, but I did notice the class “clear” was never added into the css.

    div.clear {
    clear: both;
    }

Older Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribers
1,250
Twitter
510
Comments
1,207
Posts
125