jQuery在成功提交后附加评论

时间:2014-02-21 00:14:53

标签: javascript php jquery ajax

我正在使用jQuery向Ajax提交注释,并在AJAX状态成功后在提交表单后附加它。但它无法正常工作。

HTML:

<div class="reply_form_div">
<textarea  name='reply' type='text' class="form-control reply" rows="3" ></textarea>
<button type="submit" STYLE="align: right;" class="btn btn-info reply_button yGreenButton">Submit</button>
</div>

jQuery的:

$(function()
{
  $('.reply_button').click(function(){

  var reply = $(this).siblings('textarea').val();

  $.ajax({ 
          type:"POST",
          url: base_url + "interview/reply_upload",
          data:{reply: reply}, 
          dataType: "json",
          success: function(data,status){
            if(data.state == 'succ')
            {
              this_a.html('Success');
              $(this).parent().append("<b>Hello world!</b>");
            }
            else
            {
              this_a.html('fail');  
            }
      }
      });
   });
}):

服务器端语言正常工作,如果我把它放在ajax括号之外,我可以看到附加信息。

谢谢!

1 个答案:

答案 0 :(得分:2)

这里的问题是$(this)指的是回调内部的AJAX响应。在这种情况下,您需要缓存对触发click事件的原始元素的引用。

$('.reply_button').click(function(){
    var $this = $(this);

现在,您可以使用上面定义的缓存引用在成功中执行追加。

$this.parent().append("<b>Hello world!</b>");