2012-02-12 20 views
10

Düğmeye basıldığında sekmeyi değiştirmem gerekiyor ve sekme kimlikle tanımlanmalıdır. Aşağıdaki kod benim için çalışmıyor - sadece sayfa yeniden yüklenir:Düğmeye basıldığında, Twitter Bootstrap sekmesi nasıl değiştirilir?

<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'); 
}); 

cevap

16

Böyle bir şey kullanabilirsiniz:

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(); 
} 

ve nextTab('#tab'); veya prevTab('#tab');

Canlı örneğini kullanmak Devam eden eylemler: http://jsbin.com/atinel/9/edit#javascript,html

+0

Garip, ama benim durumumda çalışmıyor ('# 2' yerine '# tab' kullandım). Ve canlı örnek ile sadece bir kez çalışır (Next ikincisine basarsam, jsbin kodu gösterir). En son FF sürümünü kullanıyorum. –

+0

numaralar ID olarak verilmez ... her zaman bir harfle başlar! – balexandre

+0

@balexandre jsbin, LA_ tarafından açıklanan hatayı yapmaz, ancak koduma girildiğinde iyi çalışır. Teşekkürler – arbme

4

'i kullanmaya ne dersiniz?, bir <a> etiketinde? Şunlar gibi:

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

Evet, bir sonraki sekmeyi gösterir, ancak tam olarak doğru değil - bir sonraki sekmenin içeriği gösterilir, ancak yine de ilk sekme seçili olarak vurgulanır. –

+2

Bunu TAB 2 içerik panelini açmak için TAB 2 içerik panelinde bir href bağlantısında denedim, mükemmel çalışıyor .. ama etkin sekme durumu değişmiyor. Uygun href #id ve data-toggle = "sekme" kullanıyorum, hatta href'e aktif olarak ekleme yapmayı denedim, yok yok .. herhangi bir fikir var mı? – 422

İlgili konular