Hiding the first tab of accordion panel in JSF Primefaces

前端 未结 6 641
醉梦人生
醉梦人生 2021-01-04 09:23

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

相关标签:
6条回答
  • 2021-01-04 09:50

    None of the posted answered worked for me in PrimeFaces 3.5.x. using multiple mode, but this:

    <p:accordionPanel multiple="true" activeIndex="null" ... >
    
    0 讨论(0)
  • 2021-01-04 09:53

    You can just do

    <p:accordionPanel activeIndex="-1">
    
    0 讨论(0)
  • 2021-01-04 09:57

    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)">
    
    0 讨论(0)
  • 2021-01-04 10:04

    You can do it with the PF function, as the code below:

    PF('accordionWidgetVarName').unselect(0);
    
    0 讨论(0)
  • 2021-01-04 10:08

    It works if you set activeIndex to blank (Primefaces 3.4.1).

    <p:accordionPanel activeIndex="">
    
    0 讨论(0)
  • 2021-01-04 10:11

    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).

    0 讨论(0)
提交回复
热议问题