2011-11-02 144 views
1

是否有可能根據標籤的標題做標籤選擇?目前我有一個安裝程序,它具有指向該選項卡整數值的鏈接,但希望能夠通過字符串值選擇選項卡。jQuery標籤 - 基於標籤文本選擇標籤

電流變化的功能

<a href="javascript:changeTab(3)">Application</a> 
function changeTab(tabID) { 
    $('#tabs').tabs('select', tabID); 
} 

我最好什麼「喜歡」,以能夠做到

<a href="javascript:changeTab('Driver Application')">Application</a> 
function changeTab(tabID) { 
    $('#tabs').tabs('select', tabID); 
} 

我發現,獲取文本的價值,爲上SO爲例選項卡,但是它沒有使用已知值來確定選定的選項卡。

回答

2

試試這個代碼。這個想法是根據其內容獲取標籤的ID,然後使用現有的標籤API來選擇它。

<a href="javascript:changeTab('Driver Application')">Application</a> 
function changeTab(tabContents) { 
    $('#tabs').tabs('select', $(".ui-tabs-nav a:contains(tabContents)").attr("href")); 
} 
+0

已選答案,因爲它不需要創建變量。還選擇了由於正確的jQuery DOM(?)項目選擇......唯一錯誤的是.attr(「id」)需要.attr(「href」)謝謝你的答案!我已將函數更改爲isNaN,以便接受任一選項 – Jared

+0

謝謝;我編輯了我的答案以反映這一點。 – weir

2

「選擇」方法還可以選擇,所以如果你能忍受使用該標籤的ID,你的代碼可能是這樣的:

<a href="javascript:changeTab('#driverapplication')">Application</a> 
function changeTab(tabID) { 
    $('#tabs').tabs('select', tabID); 
} 

如果做不到這一點,如果你真的想使用標籤文本本身,你能找到的選項卡,然後工作往回走,找到ID ...

function changeTab(tabText) { 
    var href = $('#tabs li a:contains("' + tabText + '")').attr("href"); 
    tabs('select', href); 
} 

調整的味道,很明顯。

1
function changeTab(sTabContent) { 
    var iId = $(".ui-tabs-nav li a:contains('" + sTabContent + "')") 
     .parent().index(); 
    $('#tabs').tabs('select', iId); 
} 

另請參閱我的jsfiddle

+0

爲另一種選擇投票... TY – Jared