2012-02-08 75 views
1

我用這個片段上選擇綁定事件:如何獲得標籤選擇,並獲取當前而不是之前選擇的標籤?

$("#myTabControl").tabs({ 
    select: function(event, ui){ 
    var selectedTabName = $("#myTabControl").find(".ui-tabs-selected").find("span").text(); 
    // Do stuff with the selected tab name. 
    } 
    ... 
}); 

問題是...我收到了以前選擇的,而不是當前正在選擇一個選項卡的名稱。

有關如何獲得後者的任何建議?

注 - this question要麼是非常相似或重複...但我不確定它措辭不夠好(我甚至不知道它是否是一個完整的重複)。

+1

哪裏的價值'paneSelector'從何而來?我們可以有一些HTML來配合這個嗎?一個[jsFiddle](http://jsfiddle.net)會很棒。 – 2012-02-08 14:22:38

+0

console.log(event)和console.log(ui)返回什麼?我認爲你在選擇的時候綁定了一個事件,而不是在完成之後。 – FMaz008 2012-02-08 14:24:24

+0

至於可能的重複 - 也許吧。但它不是一個完全相同的複製品,它的措辭很糟糕,沒有任何有用的(或被接受的)答案 - 即使它們是重複的,這個問題對未來的其他人來說可能會更有用。 – 2012-02-08 14:28:49

回答

1

當你點擊一個標籤按鈕時會觸發select event。那一刻,這個標籤還沒有改變。

您應該使用show event

$(paneSelector).tabs({ 
    show: function(e, ui) { 
     var selectedTabName = $(paneSelector).find(".ui-tabs-selected span").text(); 
    } 
}); 

DEMO

+0

Duh,我應該做出回答而不是評論。 – FMaz008 2012-02-08 14:31:12

+0

@ FMaz008 - 向勝利者掠奪。 – ripper234 2012-02-08 15:07:46

+0

@ ripper234 hehe:p – FMaz008 2012-02-08 15:35:57

相關問題