2

次のように、現在選択されているタブの(数値)インデックスを取得できることを知っています。

$('.selector').tabs('option', 'selected');

イベント ハンドラの外部で、現在選択されているタブの ID を取得する方法はありますか? 「ID」によって、イベント リスナー コールバックに引数として渡される ui オブジェクトの文字列プロパティ (ui.panel.id) を参照していますが、コールバックの外でそれを実行しようとしています。

独自のソリューションをハックできることはわかっていますが、最初に車輪を再発明しないようにしたいと考えています。

タブの順序を変更してもコードが壊れないように、インデックスよりも ID を使用したいと考えています。これにより、少なくとももう少し堅牢で読みやすくなります。

4

2 に答える 2

1

@マットボール

アクティブなタブに関連付けられた「ui-state-active」クラスを使用して選択し、内部の href リンクから ID を取得できます。

var selected_tab_id = $('.ui-state-active a', '#ui-tabs-widget').attr('href').split('#')[1];

'#ui-tabs-widget' は実際のタブ ウィジェットの ID であるため、それを置き換えて、ページ内のすべてのウィジェットではなく、必要なウィジェットでのみアクティブなタブが選択されるようにします。

于 2011-08-14T03:57:14.807 に答える
1

私の知る限り、選択されたタブにはクラス ui-tab-selected があります。あなたは使用することができます

$('.selector').find('.ui-tab-selected a');

選択したタブを取得します。href 属性 - アクティブなパネルの識別子。

于 2009-10-14T18:02:57.273 に答える