2013-05-09 12 views
8

Questo pulsante attiva la scheda successiva per caricare il contenuto, ma la scheda stessa non passare, rimane nella prima scheda ..tasto per attivare la Nav-Tab con Twitter Bootstrap

<br><a class="btn btn-primary" href="#tab2" data-toggle="tab">Review</a><br> 

Qui è il codice per nav nav-schede:

<ul class="nav nav-tabs"> 
    <li class="active"><a href="#tab1" data-toggle="tab">Shipping</a></li> 
    <li><a href="#tab2" data-toggle="tab">Quantities</a></li> 
    <li><a href="#tab3" data-toggle="tab">Summary</a></li> 
    </ul> 

qualsiasi soluzione l'interruzione sia il contenuto scheda & è apprezzato

..per HAPS un modo per cambiare il pulsante per attivare la funzione next() in * bootstrap-tab.js v2.3.1:

, activate: function (element, container, callback) { 
     var $active = container.find('> .active') 
     , transition = callback 
      && $.support.transition 
      && $active.hasClass('fade') 

     function next() { 
     $active 
      .removeClass('active') 
      .find('> .dropdown-menu > .active') 
      .removeClass('active') 

     element.addClass('active') 

     if (transition) { 
      element[0].offsetWidth // reflow for transition 
      element.addClass('in') 
     } else { 
      element.removeClass('fade') 
     } 

     if (element.parent('.dropdown-menu')) { 
      element.closest('li.dropdown').addClass('active') 
     } 

     callback && callback() 
     } 

     transition ? 
     $active.one($.support.transition.end, next) : 
     next() 

     $active.removeClass('in') 
    } 
    } 

risposta

24

è possibile assegnare il pulsante Review un gestore di clic utilizzando jQuery ...

JS:

$('#btnReview').click(function(){ 
    $('.nav-tabs > .active').next('li').find('a').trigger('click'); 
}); 

HTML:

<a class="btn btn-primary" href="#" id="btnReview">Review</a> 

Working Demo

+1

grande risposta .. Grazie. – sourcingsynergy

+1

Questa non è una soluzione di solo markup elegante. Sicuramente ha bisogno di una correzione nel bootstrap. – Alex

+0

funziona ... grazie :) – SarangaR

7

Modificando 'data-toggle' su 'data-trigger' per il collegamento di attivazione, il codice seguente può attivare qualsiasi scheda con lo stesso attributo HREF, per tutti i trigger con markup simile.

(N.B. selettori non sono ottimizzati, è solo una guida per una soluzione più flessibile)

JS:

$('[data-trigger="tab"]').click(function(e) { 
    var href = $(this).attr('href'); 
    e.preventDefault(); 
    $('[data-toggle="tab"][href="' + href + '"]').trigger('click'); 
}); 

HTML:

<a class="btn btn-primary" href="#tab2" data-trigger="tab">Review</a> 
+0

Non funziona per me. –

+0

Funziona come un fascino, ottimo lavoro! – Allen

Problemi correlati