2012-04-17 4 views

risposta

8

Un approccio è quello di definire un widgetVar:

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

E poi:

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

o per le vecchie versioni PF:

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

Grazie .. Ho provato il primo approccio. Funziona. La scheda è chiusa per impostazione predefinita. Ma c'è un problema. Non viene caricato al clic. Le schede rimanenti vengono aggiornate da db (ogni volta che clicchiamo su di esso). Ma la prima scheda non funziona in questo modo. Rimane vuoto. Qualche idea sul perché questo sta accadendo. Il controllo passa a bean su clikc e anche il valore viene caricato, ma non viene riflesso nella scheda. –

+0

Hai ragione ... L'ho provato con l'attributo 'dynamic =" true "'. Quindi la prima scheda non verrà caricata se si fa clic su di essa. Adatterò la mia risposta. Utilizza l'approccio con widgetVar. Lì funziona. – Sebi

+0

Ancora non funziona. La scheda è aperta e non contiene dati. Sto mantenendo dinamico = "vero". Inoltre sto usando facelet. Può influenzare i risultati. –

20

Si può solo fare

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

Non funziona (nessuno?) Di più. –

+0

Espande la seconda scheda –

+4

Works for me, con PF 5.0. Non espande la seconda scheda. – Chris

7

Funziona se si imposta activeIndex su bianco (Primefaces 3.4.1).

<p:accordionPanel activeIndex=""> 
2

Nessuna delle risposte inviate ha funzionato per me in PrimeFaces 3.5.x. utilizzando la modalità multipla, ma questo:

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

si può fare con la funzione PF, come il codice qui sotto:

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

Risposta per primefaces 6.0 utenti:

È possibile impostare il widgetVar proprietà e quindi chiamare PF ('widgetVarValue'). unselect (0); come diceva Fred Policarpo; tuttavia, non ero in grado di farlo funzionare su fisarmonica carico, e ho provato varie cose come usare l'evento onload di un div, usando un comando remoto con autoRun abilitato, e anche usando jQuery personalizzato. Nessuno di questi ha funzionato per l'evento load, solo quando ho eseguito quella chiamata PF unselect nella console.

In PrimeFaces 6.0, è possibile utilizzare l'attributo activeIndex e impostarlo su più valori, ad es. "1,3,5", per chiudere tutte le schede ma aprire le schede 2a, 4a e 6a (indicizzazione base 0).

Problemi correlati