Sé que puedo obtener el índice de la pestaña actualmente seleccionada, pero de alguna manera puedo obtener la ID (el equivalente a ui.panel.id
si esto fue desencadenado por un evento tab ... pero es no) de la pestaña actualmente seleccionada? Preferiría no usar el índice porque el orden de las pestañas podría cambiar. Prefiero no usar las marcas de estilo, ya que pueden cambiar en versiones futuras. ¿Hay un método para esto? Si no, ¿puedo de alguna manera usar el índice para acceder a esto (tal vez incluso accediendo primero al objeto del panel)? ¿Alguna otra idea?Necesita identificación de pestaña seleccionada actualmente para las pestañas jQuery
Respuesta
Puede utilizar el :visible
pseudo-selector para apuntar el panel visible:
$("#tabs .ui-tabs-panel:visible").attr("id");
Vale la pena señalar que se puede recuperar la ficha activa de la activate event:
$("#tabs").tabs({
activate: function (event, ui) {
console.log(ui.newPanel[0].id);
}
});
Eso es bastante tonto. ¿Qué sucede si tienes varios widgets de pestañas en una página, por ejemplo? –
Luego le das un selector más específico. '$ (" # group1 .ui-state-active ")'. – Sampson
Esta solución no funcionó para mí. En cambio, encontré esta respuesta: http://stackoverflow.com/q/7967944/11992 – nikow
Como lo publiqué en una respuesta al this question, hay varias formas de lograr esto.
Por jQuery documents, que se proponen hacer lo siguiente para encontrar el índice de la ficha abierta:
var $tabs = $('#example').tabs();
var selected = $tabs.tabs('option', 'selected'); // => 0
Sin embargo, esto no es práctico si necesita hacer mucho con esa pestaña. Por qué aún no ofrecen una solución más práctica para obtener el elemento real, no estoy seguro, sin embargo, mediante el uso de jQuery hay una solución fácil que puede crear usted mismo.
En el siguiente código Te voy a mostrar lo fácil que es hacer lo que quiera con la ficha actual:
var curTab = $('.ui-tabs-panel:not(.ui-tabs-hide)'),
curTabIndex = curTab.index(), // will get you the index number of where it sits
curTabID = curTab.prop("id"), // will give you the id of the tab open if existant
curTabCls = curTab.attr("class"); // will give you an array of classes on this tab
// etc ....
// now, if you wanted a little more depth, for instance specific tabs area (if you have multiple tabs on your page) you can do simply add to your selector statement
var curTab = $('#myTabs_1 .ui-tabs-panel:not(.ui-tabs-hide)');
// then you can make simple calls to that tab and get whatever data or manipulate it how you please
curTab.css("background-color", "#FFF");
Si desea que el id
(o en realidad el href
) de la pestaña seleccionada , puede usar eq()
para recuperar el Objeto jQuery.
se puede ver un ejemplo aquí: http://jsfiddle.net/svierkant/hpU3T/1/
var curTab = $jQuery('#tabs .ui-tabs-panel:not(.ui-tabs-hide)').attr('id');
Después de jQuery 1.9 seleccionada está en desuso
a fin de utilizar
var active = $("#jtabs").tabs("option", "active");
respuesta de Jonathan Sampson ya no funciona. Intenta ...
$("#tabs .ui-tabs-panel:visible").attr("id");
jsFiddle: http://jsfiddle.net/tbEq6/
$("#tabs .ui-state-active a").attr("id");
Esto funciona:
$('#divName .ui-tabs-panel[aria-hidden="false"]').prop('id');
Agregue algunas explicaciones a su respuesta, por favor. –
Para jQuery UI> = 1.9 se puede utilizar ui.newPanel.selector
:
$('#tabs').on('tabactivate', function(event, ui) {
console.log(ui.newPanel.selector);
});
Para la versión de jquery debajo de 1.9:
<div class="roundedFloatmenu">
<ul id="unid">
<li class="titleHover" id="li_search">Search</li>
<li class="titleHover" id="li_notes">Notes</li>
<li class="titleHover active" id="li_writeback">Writeback</li>
<li class="titleHover" id="li_attorney">Attorney</li>
</ul>
</div
Y se puede encontrar en la pestaña activa usando:
jQuery('#unid').find('li.active').attr('id')
- 1. Jquery UI - ¿volver a cargar la pestaña seleccionada?
- 2. WPF Tab Control: ¿Cómo obtengo la pestaña actualmente seleccionada?
- 3. Pestañas jQuery seleccionando la pestaña específica
- 4. obtener el texto de las pestañas en las pestañas ui seleccione jquery
- 5. Cambiando programáticamente la pestaña seleccionada de tabBarController
- 6. Necesita una respuesta definitiva para peinar las pestañas Android actionbar
- 7. Preselección de la pestaña habilitada para Ajax en las pestañas de la IU de jquery
- 8. ¿Cómo desplazar las pestañas de jQuery ui?
- 9. Necesita una identificación única en Javascript para ventanas de pestañas y para ventanas nuevas en Internet Explorer
- 10. cómo desactivar las pestañas usando jQuery
- 11. Qt: ocultar el borde de la pestaña seleccionada en QTabBar
- 12. multiple slickGrid en las pestañas jQuery
- 13. Índice de fila actualmente seleccionada en DataGridView
- 14. pestañas jQuery UI desactivar la pestaña de navegación
- 15. Cómo establecer pestaña seleccionada debe estar en medio
- 16. jQuery Accordion - Necesita índice del contenido seleccionado actualmente parte
- 17. ¿Escuchas de eventos para las pestañas UI de jQuery?
- 18. Las pestañas jQuery no funcionan
- 19. Seleccionar una pestaña jQuery usando un parámetro en la URL
- 20. ¿Compartir un elemento entre las pestañas de jQuery UI?
- 21. Identificación de sesión de ASP.NET compartida entre las pestañas del navegador
- 22. WPF TabControl Cambiar la pestaña seleccionada
- 23. jQuery - pestaña de captura Seleccione el evento
- 24. JavaFX TabPane: Cómo establecer la pestaña seleccionada
- 25. jQuery pestañas - obteniendo recientemente índice seleccionado
- 26. Contraer todas las pestañas en un acordeón en jquery?
- 27. Control de pestañas como las pestañas de Google Chrome?
- 28. cómo agregar y eliminar las pestañas jquery dinámicamente?
- 29. Anidar las pestañas de la IU de JQuery en JQuery personalizado
- 30. pestañas Android actionbar conjunto de pestañas
Una variación de la pregunta sería: ¿Hay una manera de obtener el panel de la pestaña del índice? –
Posible duplicado de [jQuery ui pestañas: obtener la identificación de la pestaña (div) está activada] (http://stackoverflow.com/questions/1864219/need- current -selected-tab-id-for-jquery-tabs) – mins