2011-07-13 93 views
0

我有一個簡單的UI選項卡這樣jquery ui選項卡使用jQuery選擇時顯示異常?

<div id="tabs">    
<ul><li><a href="#tabs-1">Single</a></li><li><a href="#tabs-2">Matchmaker</a></li></ul></div> 

後來我使用jQuery的選項來選擇一個標籤

<script type="text/javascript">  
$(document).ready(
    function() { 
     var role = 1; //some value, this value changes and i'm sure its has its value. 
     $("#tabs").tabs("option", "selected", role); 
    } 
); 
</script> 

我甚至試過$("#tabs").tabs("option", "selected", 0);

,但沒有運氣..什麼可能是錯誤?

回答

1

你應該這樣做:

$(document).ready(
    function() { 
     var role = 1; //some value, this value changes and i'm sure its has its value. 
     $("#tabs").tabs({ selected: role }); 
    } 
); 

小提琴這裏:http://jsfiddle.net/6rB2w/1/

編輯 - 有一個與標記一個問題:看看這個小提琴正在工作:http://jsfiddle.net/6rB2w/11/

<div id="tabs">    
<ul><li><a href="#tabs-1">Single</a></li><li><a href="#tabs-2">Matchmaker</a></li></ul> 
    <div id="tabs-1"> 
     <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu.</p> 
    </div> 
    <div id="tabs-2"> 
     <p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis.</p> 
    </div> 
</div> 

$(document).ready(
    function() { 
     var role = 1; //some value, this value changes and i'm sure its has its value. 
     $("#tabs").tabs(); 
     alert('now change the selected tab'); 
     $("#tabs").tabs("select", role); 
    } 
); 

問題是,第一個div必須環繞另外兩個div,否則當你用$("#tabs").tabs("select", role);開啓選項卡時,它會給出錯誤

+0

我有一種情況,我加載標籤最初與下面的代碼:$(function(){$(「#tabs」)。tabs();});'但之後,我有一個Ajax請求,當我點擊任何這些選項卡,並根據輸出(即在我的代碼中的角色)我嘗試更改選項卡並自動選擇..我認爲這會導致問題..任何想法呢? – Vijay

+0

我編輯了我的答案 –

0

正確的方法是.tabs('select', TAB-INDEX)(選項卡索引是從零開始的)。

+0

我知道它的零基礎,所以如果我給1第二個選項卡應該被選中。我對嗎?順便說一句,那個屬性是'select'還是'selected'? – Vijay