JQuery - 添加超过1条评论不起作用

时间:2010-03-05 19:48:39

标签: javascript jquery events

通过此代码,我会在帖子中添加评论。但是有一个问题 - 第一个评论工作,但我无法添加下一个。我使用livequery,所以它是工作。你能救我吗?

$('form.comment_form').livequery('submit', function a()  
  {
      var element = $(this);        
      var wall_post_id = element.attr("id");
       var wall_message = $('#comment_text'+wall_post_id).attr('value');

        $.post("home/add_comment", $(this).serialize(), function(response)
        {
            if(response.error == "0")
            {
          $("div#comments"+wall_post_id).replaceWith(response.message);
            }
            else if(response.error == "1")
            {
               alert(response.message);
               return false;
            }
      }, "json");
      return false;
   });

1 个答案:

答案 0 :(得分:1)

问题是当你使用replaceWith时它会完全删除那个DOM元素。所以第二次运行第二次评论时,没有任何DIV可以匹配,所以没有什么可以替换的。请尝试附加。请参阅以下代码:

$('form.comment_form').livequery('submit', function a()  
{
  var element = $(this);        
  var wall_post_id = element.attr("id");
  var wall_message = $('#comment_text'+wall_post_id).attr('value');

    $.post("home/add_comment", $(this).serialize(), function(response)
    {
        if(response.error == "0")
        {
         $("div#comments"+wall_post_id).append(response.message);
        }
        else if(response.error == "1")
        {
           alert(response.message);
           return false;
        }
  }, "json");
  return false;
});