2012-09-19 2 views
0

사용자가 페이지 영역의 별도 탭에 표시된 일련의 비디오를 업로드 할 수있는 사용자 인터페이스를 작성하고 있습니다. 새 비디오가 업로드되거나 기존 비디오가 삭제되면 (AJAX를 통해), 그에 따라 탭을 업데이트하려고합니다. 탭을 업데이트 한 후 다시 그리는 데 문제가 있으며 행운이 없습니다. 여기에 내가 뭘 내용은 다음과 같습니다Ajax 응답을 사용하여 jquery 탭을 재생성하는 방법

자바 스크립트과 같이 서버에 요청을 보냅니다 :

function deleteVideo(id){ 
    $.post("video.php?action=deletevideo", 
     {'id' : id}, 
     function(response){ 
      $('#videoTabs').html(response); 
      $('#videoTabs').tabs(); 
     } 
    ); 
}  

그리고 PHP 측에서 요청은 다음과 같이 처리됩니다

switch($_GET['action']) { 
    case 'deletevideo': 
     try{ 
      $video = new videoClass($_POST['id']); 
      $video->delete(); 
      draw_video_tabs(); 
     }catch(Exception $e){ 
      echo $e->getMessage(); 
     } 
     break; 

I PHP 스크립트에 의해 다시 보내지는 코드가 정확히 내가 기대하는 것, 그리고 "draw_video_tabs"함수가 내가 아약스를 사용하지 않고 페이지를 그릴 때 사용하는 것과 동일한 것을 볼 수 있습니다. 그것이 내게주는 HTML이 정확히 있어야합니다.

그러나 답장을 보내면 "#videoTabs"div에 탭이 표시되지 않습니다. 나는 대신 직선 HTML (총알 목록과 일치하는 div 집합)을 봅니다.

또한 응답을 JSON 인코딩 된 객체로 보내고 그 결과를 본문에 삽입하려고했습니다. 그것도 나에게 올바른 코드를 제공하지만, 탭이 없습니다.

그래서 내가 무엇을 놓치고 있습니까? 콘텐츠가 AJAX 요청에서로드 될 때 탭을 만드는 비교적 쉬운 방법이 있다고 가정합니다. 하나의 탭이 아니라 전체 탭 세트를로드한다는 점에 유의하십시오. 그것은 페이지로드시 이미 생성 된 동일한 div에로드됩니다.

답변

0

모든 탭을로드하려면 이전 HTML 마크 업을 제거하고 새로 삽입하지 않으시겠습니까? Adding and Removing Tabs with jQuery and jQuery UI

추가 : 당신은 http://jqueryui.com/demos/tabs/ (탭 방식)에있는 모든 문서를 찾을 수 있습니다

.tabs("destroy") 
.tabs("add" , url , label , [index]) 
.tabs("remove" , index) 
+0

이 일을 파괴, 감사 만 추가 및 제거 할 경우,이 문서를 봐! 나는 아직도 전화가 끊기지 않고 왜 작동하지 않는지 이해하지 못합니다. 나는 wrapping div의 전체 내용을 제거하고 대체하고 그것을 tabify하려고 시도했다. 그것은 작동하지 않았고 아무런 오류도 던지지 않았습니다. –

관련 문제