tab modal example event disabled bootstrap active jquery tabs twitter-bootstrap

jquery - modal - get active tab bootstrap



Buscar pestaƱa activa usando jQuery y Twitter Bootstrap (3)

En primer lugar, debe eliminar el atributo de alternancia de datos . Utilizaremos algunos JQuery, así que asegúrese de incluirlos.

<ul class=''nav nav-tabs''> <li class=''active''><a href=''#home''>Home</a></li> <li><a href=''#menu1''>Menu 1</a></li> <li><a href=''#menu2''>Menu 2</a></li> <li><a href=''#menu3''>Menu 3</a></li> </ul> <div class=''tab-content''> <div id=''home'' class=''tab-pane fade in active''> <h3>HOME</h3> <div id=''menu1'' class=''tab-pane fade''> <h3>Menu 1</h3> </div> <div id=''menu2'' class=''tab-pane fade''> <h3>Menu 2</h3> </div> <div id=''menu3'' class=''tab-pane fade''> <h3>Menu 3</h3> </div> </div> </div> <script> $(document).ready(function(){ // Handling data-toggle manually $(''.nav-tabs a'').click(function(){ $(this).tab(''show''); }); // The on tab shown event $(''.nav-tabs a'').on(''shown.bs.tab'', function (e) { alert(''Hello from the other siiiiiide!''); var current_tab = e.target; var previous_tab = e.relatedTarget; }); }); </script>

He estado trabajando en mi cerebro por un tiempo, y me gustaría saber si alguien sabe cómo puedo encontrar la pestaña activa, usando jQuery y Twitter Bootstrap. Extraer el hash de la URL no es mi primera opción, estoy usando el atributo de data-toggle en el enlace <a> por lo que no es necesario generar un hash URL.

¿Alguna idea? Aquí hay un ejemplo de mi marcado:

<ul class="nav nav-list" id="sampleTabs"> <li><a href="#example" data-toggle="tab">Tab 1</a></li> </ul> <div class="tab-content"> <div class="tab-pane fade active in" id="example"> Example Tab </div> </div> <script> $(''#sampleTabs a:first'').tab(''show''); </script>

Estoy abierto a cualquier sugerencia: utilizar una sesión PHP, una cookie JS, etc.

Editar: este es el verdadero problema. Tengo un sistema de paginación que usa PHP, así que cuando se hace clic en un número de página o flecha siguiente / anterior, se volverá a cargar la página. Es por eso que necesito encontrar la pestaña activa antes de cargar la página siguiente, ya que solo la pasaré en la url o sesión, etc.


Twitter Bootstrap asigna la clase active al elemento li que representa la pestaña activa:

$("ul#sampleTabs li.active")

Una alternativa es vincular el evento shown de cada pestaña y guardar la pestaña activa:

var activeTab = null; $(''a[data-toggle="tab"]'').on(''shown'', function (e) { activeTab = e.target; })


aquí la respuesta para aquellos de ustedes que necesitan la solución Boostarp 3.

En bootstrap 3 use ''shown.bs.tab'' en lugar de ''shown'' en la siguiente línea

// tab $(''#rowTab a:first'').tab(''show''); $(''a[data-toggle="tab"]'').on(''shown.bs.tab'', function (e) { //show selected tab / active console.log ( $(e.target).attr(''id'') ); });