Tengo un menú simple en una página web, basado en jQuery Accordion. He simplificado un poco el código, y se ve así;jQuery Accordion - Necesita índice del contenido seleccionado actualmente parte
<div id="menu_div" class="nt-tab-outer nt-width-150px">
<h3 class="nt-tab-title"><a href="#">Menu A</a></h3>
<div id="menu_1_div">
<a href="itemA1">Item A1</a><br />
<a href="itemA2">Item A2</a><br />
</div>
<h3 class="nt-tab-title"><a href="#">Menu B</a></h3>
<div id="menu_2_div">
<a href="fTabsDyn">Item B1</a><br />
<a href="fPlainDyn">Item B2</a><br />
</div>
</div>
<script type="text/javascript">
jQuery(function() {
jQuery("#menu_div").accordion({
active: 1,
change: function(event, ui) {
alert('bob');
}})
});
</script>
Esto establece la segunda "parte" del acordeón abierta cuando se abre la página. (activo: 1) y si se hace clic en alguno de los encabezados aparece una alerta simple "bob". Hasta aquí todo bien.
Ahora me gustaría reemplazar "bob" con el índice del encabezado. Entonces, la versión de "lectura" de "activo". es decir, cuando se hace clic en el primer encabezado del acordeón, obtengo 0, y si se hace clic en el segundo encabezado obtengo un 1.
(Aparte, por supuesto, no quiero hacer una alerta, quiero hacer una Ajax llama al servidor con el valor, para que el servidor sepa qué menú está abierto en el cliente. Esa parte puedo hacer, pero estoy luchando por obtener el valor correcto para enviar. Si el índice no está disponible, entonces siéntase libre de hacerlo. ofrecer sugerencias alternativas).
Gracias!
Hola Lazarus - sí, eso es lo que yo también pensaba, pero siempre devuelve 1. – Bruce
@Lazarus: Gracias. Esto es lo que estaba buscando, "var active = jQuery (" # menu_div "). Accordion ('option', 'active');" funcionó para mí con jQuery - v3.2.1 y jQuery UI - v1.12.1. – Indrabhushan