2012-02-09 3 views
1

를 캐싱 :jQuery를 탭 내가 같이 내 jQuery를 탭을 정의 TABID

$('#serviceTabs').tabs({ 
    idPrefix: 'ui-subtabs-', 
    spinner: 'Retrieving data...', 
    cache: false, 
    select: function(event, ui) { 
     if(checkServiceTabs(ui.index)) 
     { 
      $('#ui-subtabs-'+(currentDetailTab+1)).html(" "); 
      currentDetailTab = ui.index; 
      return true; 
    } 
     else 
      return false; 
    }, 
    collapsible: true 
}); 

는 불행하게도 내 페이지를 다시로드 한 후 내 탭의 인덱스가 점진적으로 발생합니다. 탭이 다시로드 후 고정되어 있는지,

#ui-subtabs-4, #ui-subtabs-5, #ui-subtabs-6 

부작용은 다음과 같습니다

#ui-subtabs-1, #ui-subtabs-2, #ui-subtabs-3 

내 페이지를 다시로드 한 후에는 다음과 같습니다처럼 그래서 첫 번째 요청에 내 TABID 년대는 본다. select 이벤트가 더 이상 작동하지 않습니다.

FYI : 탭이 DIV에 있으며 $.get 기능과 병합되었습니다. 그래서 전체 페이지를 다시로드하지 않고 div 만로드합니다.

새로운 요청하기 전에 .html(" ")에 이미 빈 사업부와 나는 또한

$('#serviceTabs').tabs("destroy"); 

을 시도

사람이 어떻게 TABID 캐시를 삭제하는 아이디어가 있습니까?

답변

0

불행하게도, TABID가에서 들리는 tabIndex 변수는 외부 세계에이 완전히 보이지 않는 만드는 탭 플러그인의 익명 함수에 캡슐화된다. 그것은 단지 증가하고 플러그인은 그것을 다시 설정할 수있는 방법을 제공하지 않습니다. 심지어 플러그인의 인스턴스를 파괴하는 것은 도움이되지 않습니다.

플러그인 설명서의 overview 페이지에서 탭 버튼으로 사용되는 <a> 요소의 Title 속성을 사용하여 탭 컨테이너를 참조 할 수 있도록 지정되었습니다.

<li><a href="hello/world.html" title="My Tab 1"> ... </a></li> 

이것은 (공백을 밑줄로 대체) ID와 제목 탭 컨테이너를 생성합니다 :

<div id="My_Tab_1"> ... </div> 

당신은 것

그런 다음 탭 버튼에 대한 마크 업 이런 종류의 것 그에 따라 방법을 선택해야합니다.

관련 문제