2012-04-17 69 views

Respuesta

8

Un método consiste en definir una widgetVar:

<p:accordionPanel widgetVar="accordion"> 
    ... 
</p:accordionPanel> 

Y luego:

<body onload="PF('accordion').unselect(0)"> 

o para versiones PF:

<body onload="accordion.unselect(0)"> 
+0

Gracias ... Intenté el primer acercamiento. Funciona. La pestaña está cerrada por defecto. Pero hay un problema. No se carga al hacer clic. Las pestañas restantes se actualizan desde db (cada vez que hacemos clic en él). Pero la primera pestaña no funciona de esta manera. Se queda vacío. Alguna idea de por qué esto está sucediendo. El control pasa a bean en clikc e incluso el valor se carga, pero no se refleja en la pestaña. –

+0

Tienes razón ... Lo probé con el atributo 'dynamic =" true "'. Entonces, la primera pestaña no se cargará si hace clic en ella. Adaptaré mi respuesta. Utilice el enfoque con el widgetVar. Ahí funciona – Sebi

+0

Todavía no funciona. La pestaña está abierta y no tiene datos. Estoy manteniendo dinámico = "verdadero". También estoy usando facelets. Puede eso afectar los resultados. –

20

que sólo puede hacer

<p:accordionPanel activeIndex="-1"> 
+0

No funciona (¿alguna?) Más. –

+0

Se expande la segunda pestaña –

+4

Funciona para mí, con PF 5.0. No expande la segunda pestaña. – Chris

7

Funciona si configura activeIndex en blanco (Primefaces 3.4.1).

<p:accordionPanel activeIndex=""> 
2

Ninguna de las respuestas publicadas me ha funcionado en PrimeFaces 3.5.x. utilizando el modo múltiple, pero esto:

<p:accordionPanel multiple="true" activeIndex="null" ... > 
1

Usted puede hacerlo con la función PF, ya que el código de abajo:

PF('accordionWidgetVarName').unselect(0); 
0

Respondiendo a PrimeFaces 6.0 usuarios:

Puede configurar el widgetVar propiedad y luego llamar a PF ('widgetVarValue'). deseleccionar (0); como lo mencionó Fred Policarpo; sin embargo, no pude hacer que esto funcione con el accordion load, y probé varias cosas como usar un evento de carga de div, usar un comando remoto con auto-ejecución habilitada e incluso usar jQuery personalizado. Ninguno de estos funcionó para el evento de carga, solo cuando ejecuté esa llamada de deselección de PF en la consola.

En PrimeFaces 6.0, puede usar el atributo activeIndex y establecerlo en varios valores, p. Ej. "1,3,5", para cerrar todas las pestañas pero abrir las pestañas 2ª, 4ª y 6ª (indexación de la base 0).

Cuestiones relacionadas