2013-05-28 3 views
0

jquery ajax 성공 후 특정 div 콘텐츠를 숨기려고합니다.ajax 성공 데이터 후 특정 div 숨기기

라이브 데모 : http://jsfiddle.net/t922q/

jQuery 코드의 일부는 :

$('.deletethisconent').click(function() { 
    // $.ajax({ .... 
     success: function(data){ 
     $(this).closest('.container').hide(); 
     $(".delete_status").html(data); 

    }); 

어떻게 하나가 아약스 성공 후 대상 사업부를 숨길 수 있습니까? 감사합니다.

+0

중복 가능성을 http://stackoverflow.com ([$ (이) AJAX 성공 작동하지 않는 내부]/questions/6394812/this-inside-of-ajax-success-not-working) 및 [jQuery ajax 성공은 $ (this)로 작동하지 않습니까?] (http://stackoverflow.com/q/6889855/218196) . –

답변

4

this은 성공 처리기의 세 번째 인수 인 jqXHR 개체를 참조합니다.

성공 :

기능 (PlainObject 데이터, 문자열 textStatus, jqXHR jqXHR) 당신이 그것을 도달 할 경우이 변수에 외부 this에 대한 참조를 저장해야

:

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

    var that = this; 

    $.ajax({ 
     url: 'echo.php', 
     success: function(data){ 
      $(that).closest('.container').hide(); 
      $(".delete_status").html(data); 
     } 
    }); 
}); 
+2

'this'는 응답이 아닌 jqXHR 객체를 참조합니다. –

+0

@FelixKling Right. 업데이트 됨. – Johan

0

데이터를 숨기고 싶은 것 같습니다.

$('.deletethisconent').click(function() { 
    // $.ajax({ .... 
    success: function(data){ 
     $(this).closest('.container').css('display', 'none'); 
     $(".delete_status").html(data); 

}); 
0

를 귀하의 클릭 기능에 this에 대한 참조를 추가하고 사용의

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

    $.ajax({ 
     success: function(data) { 
      $(mainElement).closest('.container').hide(); 
     } 
    }); 
}); 
관련 문제