UPDATE [ 일 2012년 8월 26일은 ]이 대답은 내가 본격적인 블로그로하기로 결정 정도로 인기를 끌고있다 / 튜토리얼을
참조하십시오 여기에 내 블로그 작업에 쉽게 접근 할 정보의 최신을 볼 탭 jQueryUI에
또한 포함 (블로그에서도) jsFiddle입니다.
¡ ¡ ¡ 업데이트! 참고 : jQueryUI (1.9+)의 최신 버전에서 ui-tabs-selected
대체되었습니다 ui-tabs-active
. !!!
이 스레드가 오래 되었다는 것을 알고 있지만 언급하지 않은 것은 "탭 이벤트"가 아닌 다른 곳에서 "선택된 탭"(현재 드롭 다운 패널)을 얻는 방법이었습니다. 나는 간단한 방법이 있습니다 ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)');
그리고 쉽게 색인을 얻으려면 물론 사이트에 나열된 방법이 있습니다 ...
var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0
그러나 내 첫 번째 방법을 사용하여 색인과 해당 패널에 대해 원하는 모든 것을 매우 쉽게 얻을 수 있습니다 ...
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)'),
curTabIndex = curTab.index(),
curTabID = curTab.prop("id"),
curTabCls = curTab.attr("class");
// etc ....
추신. iframe 변수를 사용하고 .find ( '. ui-tabs-panel : not (.ui-tabs-hide)')를 사용하면 프레임에서 선택한 탭에 대해서도이 작업을 쉽게 수행 할 수 있습니다. jQuery는 이미 모든 노력을 다했으며 바퀴를 재발 명 할 필요가 없습니다!
확장 (업데이트 됨)
"보기에 둘 이상의 탭 영역이 있으면 어떻게합니까?"라는 질문이 나에게 제기되었습니다. 다시 말하지만 간단하게 생각하고 동일한 설정을 사용하되 ID를 사용하여 보유하려는 탭을 식별하십시오.
예를 들어 다음과 같은 경우 :
$('#example-1').tabs();
$('#example-2').tabs();
그리고 두 번째 탭 세트의 현재 패널을 원합니다.
var curTabPanel = $('#example-2 .ui-tabs-panel:not(.ui-tabs-hide)');
그리고 패널이 아닌 실제 탭을 원한다면 (정말 쉬웠 기 때문에 전에 언급하지 않았지만 지금은 철저히 할 것입니다)
// for page with only one set of tabs
var curTab = $('.ui-tabs-selected'); // '.ui-tabs-active' in jQuery 1.9+
// for page with multiple sets of tabs
var curTab2 = $('#example-2 .ui-tabs-selected'); // '.ui-tabs-active' in jQuery 1.9+
다시 말하지만, jQuery는 모든 노력을 다했다는 것을 기억하십시오. 그렇게 열심히 생각하지 마십시오.