2011-01-04 3 views
0

내 div가 클릭되면 사라지고 결과 게시물 요청이 성공적으로 반환됩니다.JQUERY 성공 후 어떻게 페이드 아웃합니까?

$('.btn').click(function(){ 
      var u_id = $(this).attr('id'); 
      $.post("actdeact.php",{do_action:'activate',uid:u_id},function(data){ 
       $(this).fadeOut("500"); 
       alert('loaded '+data); 
      }); 
     }); 

div가 동적으로 생성 되었기 때문에 나는 id (또는 each()) 대신 클래스를 사용했기 때문에. 그러나 나는 fadeout ..... 어떤 아이디어를 위해 이것을 사용할 수없는 것 같습니까?

+0

** 편집 : ** 내 대답을 삭제. 해답은 [this one] (http://stackoverflow.com/questions/4595792/jquery-how-do-i-fadeout-on-post-success/4595869#4595869)을 참조하십시오. –

답변

-1

이 시도 :

$('.btn').click(function(){ 
      var that=$(this); 
      var u_id = $(this).attr('id'); 
      $.post("actdeact.php",{do_action:'activate',uid:u_id},function(data){ 
       that.fadeOut("500"); 
       alert('loaded '+data); 
      }); 
     }); 

아이디어는 호출하기 전에 $ (이)에 대한 참조를 얻는 것입니다 $ .post

+0

은 범위 문제와 비슷해 보입니다. 선택기의 범위 안에 있지 않은 게시 콜백 함수에서 $ (this)를 호출 할 때 게시 콜백 함수의 범위 안에 있으므로 콜백이 아닌 .btn 요소. 위와 같이 수정해야하며이를 수정해야합니다. 내 설명이 의미가되기를 바랍니다. –

+0

@Alex Vidal 귀하의 진술은 사실이 아닙니다. 'that'은 함수 내부에서 선언되며 click 이벤트가 첨부 된 버튼에 대한 참조를 보유합니다. – jny

+0

네가 맞아, 내 실수 야. 내 의견과 내 대답을 삭제하십시오. –

관련 문제