2014-01-17 2 views
0
$("body").delegate(".u-post-button", "click", function(){ 
     var btn = $(this); 
     var currentPost = btn.parents('.content-event'); 
     var content = btn.siblings('textarea[name="comment-post-content"]').val(); 
     if (content) 
     { 
     var event_id = currentPost.find('.event-id').val(); 
     var url= '/post-comments/'+event_id +'/'; 
       content: content 
       } 
     $.post(url , data, function(data){ 
     var obj = $.parseJSON(data); 
     var lang = ''; 
     $.each(obj, function() { 
      lang += this['html']; 
     }); 
     $(currentPost.find('.latest-comment')).append(lang); 
     $(currentPost.find('.comment-post-content')).val(""); 
     }); 
     } 
     else 
     { 
     $(currentPost.find('.comment-post-content')).attr("rows", "1"); 
     } 
     return false; 
    }); 

Это скрипт, чтобы опубликовать комментарий, а затем положить возвращаемый json после div .latest-comment. Он отлично работает, но порядок комментариев от самого старого к последнему, когда мы идем вниз. Я отступил назад. Как я могу это сделать? Я попытался использовать prependTo вместо append, но затем комментарии не будут отображаться. Это HTML,Добавить новые divs в порядке времени [jQuery]

<div class="content-event"> 
     <form method="post"> 
     {% csrf_token %} 
     <textarea class="comment-post-content" name="comment-post-content" cols="55" rows="1" placeholder="Add a comment..."></textarea> 
     <input type="hidden" class="event-id" value="{{ event.id }}"> 
     <input type="submit" class="u-post-button" value="Post comment" /> 
     </form> 

    </div> 
<div class="latest-comment"></div> 
+0

опубликовать HTML тоже, и если возможно создать jsfiddle ... было бы полезно для отладки – iJade

ответ

1

Вы упомянули, что вы уже пробовали prependTo(), но вы пробовали prepend()? Они работают по-разному, поэтому ваши комментарии, вероятно, исчезли.

Jquery Документация:http://api.jquery.com/prepend/

Смежные вопросы