By default the first tab of the primefaces accordion panel is shown open on page load. Is there a way that it can be closed on page load.
Thanks
None of the posted answered worked for me in PrimeFaces 3.5.x. using multiple mode, but this:
<p:accordionPanel multiple="true" activeIndex="null" ... >
You can just do
<p:accordionPanel activeIndex="-1">
One approach is to define a widgetVar:
<p:accordionPanel widgetVar="accordion">
...
</p:accordionPanel>
And then:
<body onload="PF('accordion').unselect(0)">
or for older PF versions:
<body onload="accordion.unselect(0)">
You can do it with the PF function, as the code below:
PF('accordionWidgetVarName').unselect(0);
It works if you set activeIndex to blank (Primefaces 3.4.1).
<p:accordionPanel activeIndex="">
Answering for PrimeFaces 6.0 users:
You can set the widgetVar property and then call PF('widgetVarValue').unselect(0); as Fred Policarpo mentioned; however, I was not able to get this to work upon accordion load, and I tried various things like using a div's onload event, using a remoteCommand with autoRun enabled, and even using custom jQuery. None of these worked for the load event, only when I ran that PF unselect call in the console.
In PrimeFaces 6.0, you can use the activeIndex attribute and set it to multiple values, e.g. "1,3,5", to close all of the tabs but open the 2nd, 4th, and 6th tabs (base 0 indexing).