2009-07-27 38 views
2

我已經閱讀了Jquery UI選項卡(1.7)的文檔,我相信我在Jquery選項卡的頭腦中有點特殊事件發生時點擊一個特定的選項卡。Jquery UI選項卡:幫助我開始使用事件

我有基本的標籤工作,並且我只想在選擇特定選項卡時將焦點設置在文本框上。

的UI文件的狀態,你通過處理select事件:

$('.selector').tabs({ 
    select: function(event, ui) { ... } 
}); 

我不完全相信上述手段。我已經通過一些其他的例子在這裏閱讀了stackoverflow,特別是example。不幸的是,演示不再適用於所提供的答案。

我創建和選擇使用PHP的特定標籤當前的代碼:

$("#tabs").tabs(); 
$("#tabs").tabs('option', 'selected', <?php echo $tabID-1; ?>); 

工作正常。我想補充的時候選擇了4選項卡的能力,我將焦點設置到文本框,類似的東西來:

$('#subject').focus(); 

回答

6

你要做的就是給$(「選擇」)。 tabs()函數是一個關聯數組(在JavaScript中它只是被稱爲對象)。 JavaScript正在使用這一事實很重要,您可以非常廣泛地將函數分配給變量。如果您更容易閱讀和理解,你可以試試這個:

var tab_select_function = function(event, ui) 
{ 
    // Objects available in the function context: 
    // ui.tab  // anchor element of the selected (clicked) tab 
    // ui.panel // element, that contains the selected/clicked tab contents 
    // ui.index // zero-based index of the selected (clicked) tab 
    alert("Tab with index " + ui.index + " clicked!"); 
}; 

$('#tabs').tabs({ 
    select: tab_select_function 
}); 
+0

DAFF, 我實現了你的建議,我在正確的方向前進。在tab_select_function中,我添加了一些代碼來抓取哪個選項卡,現在只需提醒它。我得到的問題是它提醒我來自的標籤索引,而不是我剛纔點擊的實際標籤! var tab_select_function = function(event,ui) { var $ tabs = $('#tabs')。tabs(); var selected = $ tabs.tabs('option','selected'); alert(selected); }; – Ryan 2009-07-27 14:46:57