2011-11-05 49 views

答えて

10
$('#tabs').tabs({ 
    select: function(event, ui) { // select event 
     $(ui.tab); // the tab selected 
     ui.index; // zero-based index 
    }, 
    show: function(event, ui) { // show event 
     $(ui.tab); // the tab shown 
     ui.index; // zero-based index 
    } 
}); 

Demo


それとも、あなたは初期のイベントリスナーをバインドしたくない場合は、このようにそれらをバインドすることができます。

$('#tabs') 
    .bind('tabsselect', function(event, ui) { // select event 
     $(ui.tab); // the tab selected 
     ui.index; // zero-based index 
    }) 
    bind('tabsshow'. function(event, ui) { // show event 
     $(ui.tab); // the tab shown 
     ui.index; // zero-based index 
    }); 
+0

ねえ、あなたは、これら二つの間で優れている提案してくださいことはできますか? –

+0

@HardikMishraイベント名がどうにかして将来変更されるなら、それは壊れないので、私は最初のものをお勧めします! – Shef

+2

これは、1.9、ui.indexは未定義であるため、これ以上は機能しません。 –

35

あなたがこれを使用することができますfind

var $tabs = $('#tab').tabs(); 
var selected = $tabs.tabs('option', 'selected'); 
var lastTab = 0; // global variable 

$(function() { 
    $('#tabs').tabs({ 
     select: function(event, ui) { 
      lastTab = ui.index; 
     } 
    }); 
}); 

そしてどこか他のあなたのコード内のあなたは、単にlastTabを参照することができます。

var $tabs = $('#tab').tabs(); 
var selected = $tabs.tabs('option', 'active'); 
+14

+1は、ショーまたは選択イベントの外で選択したタブを見つける方法を示します。 OPが尋ねたものではなく、私が知る必要があったもの。 – davidethell

2

上のjQueryの1.9から私はちょうど私のプロジェクトの一つで、これを実装しました。 jQueryの1.9またはそれ以降の場合

1

...

$('#tabs').tabs({ 
    activate: function(event, ui) { 
     ui.newTab.index(); // zero-based index 
    } 
}); 
関連する問題