2012-02-12 18 views
10

ボタンを押したときにタブを変更する必要があり、タブをIDで識別する必要があります。次のコードは、私のために動作しません - だけでページがリロードされます:ボタンを押したときにTwitterのブートストラップタブを変更するにはどうすればいいですか?

<div class="form-actions"> 
    <button class="btn btn-primary" id="btn-next">Next</button> 
    <button type="reset" class="btn">Clear</button> 
</div> 
... 
<div class="tab-pane active" id="2"> 
... 

$("#btn-next").click(function(event) { 
    $('#2').tab('show'); 
}); 

答えて

16

あなたはこのようなものを使用することができます

function nextTab(elem) { 
    $(elem + ' li.active') 
    .next() 
    .find('a[data-toggle="tab"]') 
    .click(); 
} 
function prevTab(elem) { 
    $(elem + ' li.active') 
    .prev() 
    .find('a[data-toggle="tab"]') 
    .click(); 
} 

をしてnextTab('#tab');prevTab('#tab');

ライブの例を使用し続行アクション:http://jsbin.com/atinel/9/edit#javascript,html

+0

私の場合は不思議ですが(「##タブ」の代わりに「#2」を使用します)。またライブのサンプルでは、​​一度しか動作しません(次の2回目を押すと、jsbinはコードを表示します)。私はFFの最新バージョンを使用します。 –

+0

IDは数字ではありません...常に文字で始まります! – balexandre

+0

@balexandre jsbinにはLA_で記述されたエラーがありますが、コードに記述するとうまく動作します。ありがとう – arbme

4

の使用について<a>タグ内の?何かが好きです:

<a href="#2" class="btn btn-primary" id="btn-next" data-toggle="tab">Next</a> 
+2

はい、次のタブは表示されますが、完全には正しくありません。次のタブの内容が表示されますが、最初のタブは選択されたまま強調表示されます。 –

+2

私はTAB 1のコンテンツパネルを開くためにTAB 2のコンテンツパネル内のhrefリンクでこれを試しましたが、完璧に動作しますが、アクティブなタブのステータスは変わりません。私は適切なhref #idとdata-toggle = "tab"を使用しています。クラスを追加しようとしました= hrefにはアクティブではありません。 – 422

関連する問題