I want to add a comment system after my article, <form id=“postform” class=“postform”> is written into a MYSQL_QUERY result circle. but after post a comment, the current posted comment will be showed in all the <div class=“post_comment”></div>, how to modify jquery ajax part so that the current posted comment only be showed in its own <div class=“post_comment”></div>? thanks.
jquery ajax part
$(document).ready(function(){
$(".Submit").click(function(){
var title = $(this).closest('form').find("#title").val();
var content = $(this).closest('form').find("#content").val();
$.ajax({
type: "POST",
url: "ajax_post.php",
data: {title:title,content:content},
success: function(date_added){
if(date_added != 0)
{
var structure = '<div class="comment_date_added">'+date_added+'</div><div class="comment_content">'+content+'</div>';
$(".post_comment").prepend(structure);
}
}
});
});
});
Instead of prepend which will overwrite anything within the “post_comment” class use prependTo() which appends the HTML you want to the “post_comment” class.
@SgtLegend, this time, all the current post show in the first div.post_comment. but I need the current posted comment only will be showed in its own <div class=“post_comment”></div>.
For my poor English, may be not write clearly, this is the first two article’s html code output from the php mysql query circle.
<div class="articlewarp">
<div class="articlecontent">
<!--first article content-->
</div>
<form id="postform" class="postform">
<input type="hidden" name="title" id="title" value="first article title" />
<input type="text" name="content" id="content" />
<input type="button" value="Submit" class="Submit" />
</form>
<div class="post_comment">
<!-- if this div.postform submit, the current posted comment will be showed in here -->
<div class="comment_date_added">Monday 31 January 2011, 3:58 pm</div>
<div class="comment_content">aaa</div>
</div>
</div><!--first div.articlewarp end-->
<div class="articlewarp">
<div class="articlecontent">
<!--second article content-->
</div>
<form id="postform" class="postform">
<input type="hidden" name="title" id="title" value="second article title" />
<input type="text" name="content" id="content" />
<input type="button" value="Submit" class="Submit" />
</form>
<div class="post_comment">
<!-- if this div.postform submit, the current posted comment will be showed in here -->
<div class="comment_date_added">Monday 31 January 2011, 1:23 pm</div>
<div class="comment_content">ccc</div>
<div class="comment_date_added">Monday 31 January 2011, 1:22 pm</div>
<div class="comment_content">bbb</div>
</div>
</div><!--second div.articlewarp end-->
Sorry apparently your other post didn’t come up as new on my end, if i understand correctly you want it to that .post_comment keeps been regenerated for each new comment.
@SgtLegend, yes, as I wish , every current comment post will show in its own div.post_comment, because they are 10 different articles. and one comment list for one article. one new comment submit should be showed after its own article.
$(function() {
$(".Submit").click(function() {
var form = $(this).closest('form');
var title = form.find("#title").val();
var content = form.find("#content").val();
$.ajax({
type : "POST",
url : "ajax_post.php",
data : {title: title, content: content},
success : function(date_added) {
if (date_added != 0) {
// Make a clone of the post_comment element
$('.post_comment').clone().after(form);
$('.post_comment:first').find('.comment_date_added').html(date_added);
$('.post_comment:first').find('.comment_content').html(content);
}
}
});
});
});