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 ....
PS。iframe変数を使用してから.find( '。ui-tabs-panel:not(.ui-tabs-hide)')を使用すると、フレーム内の選択されたタブに対してもこれを簡単に実行できます。覚えておいてください、jQueryはすでにすべてのハードワークを実行しており、ホイールを再発明する必要はありません!
展開するだけです(更新)
「ビューに複数のタブ領域がある場合はどうなりますか?」繰り返しますが、単純に考えて、同じ設定を使用しますが、IDを使用して、取得するタブを識別します。
たとえば、次の場合:
$('#example-1').tabs();
$('#example-2').tabs();
そして、2番目のタブセットの現在のパネルが必要です。
var curTabPanel = $('#example-2 .ui-tabs-panel:not(.ui-tabs-hide)');
そして、パネルではなくACTUALタブが必要な場合(本当に簡単です。そのため、これまでは言及していませんでしたが、今から説明します)
// 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はすべてのハードワークを実行したことを覚えておいてください。