Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 在JSF Primefaces中隐藏accordion面板的第一个选项卡_Jsf 2_Tabs_Primefaces_Accordion - Fatal编程技术网

Jsf 2 在JSF Primefaces中隐藏accordion面板的第一个选项卡

Jsf 2 在JSF Primefaces中隐藏accordion面板的第一个选项卡,jsf-2,tabs,primefaces,accordion,Jsf 2,Tabs,Primefaces,Accordion,默认情况下,页面加载时primefaces accordion面板的第一个选项卡显示为打开状态。是否有一种方法可以在页面加载时关闭它 感谢一种方法是定义widgetVar: <p:accordionPanel widgetVar="accordion"> ... </p:accordionPanel> ... 然后: <body onload="PF('accordion').unselect(0)"> 或对于较旧的PF版本: <bo

默认情况下,页面加载时primefaces accordion面板的第一个选项卡显示为打开状态。是否有一种方法可以在页面加载时关闭它


感谢

一种方法是定义widgetVar:

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

...
然后:

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

或对于较旧的PF版本:

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

你可以这样做

<p:accordionPanel activeIndex="-1">

如果您将activeIndex设置为空白(Primefaces 3.4.1),则它可以工作


在PrimeFaces 3.5.x中,所有发布的答案都不适用于我。使用多模式,但这:

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

您可以使用PF功能执行此操作,如下代码所示:

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

回答PrimeFaces 6.0用户的问题:

您可以设置widgetVar属性,然后调用PF('widgetVarValue')。取消选择(0);正如弗雷德·波利卡波所提到的;然而,我无法在accordionload上实现这一点,我尝试了各种方法,比如使用div的onload事件,使用启用自动运行的remoteCommand,甚至使用自定义jQuery。只有当我在控制台中运行pfunselect调用时,这些都不适用于load事件


在PrimeFaces 6.0中,您可以使用activeIndex属性并将其设置为多个值,例如“1,3,5”,以关闭所有选项卡,但打开第2、第4和第6个选项卡(基本0索引)。

谢谢。。我尝试了第一种方法。它起作用了。默认情况下,该选项卡处于关闭状态。但有一个问题。它不会在单击时加载。其余的选项卡将从db更新(只要我们单击它)。但是第一个标签不是这样工作的。它是空的。你知道为什么会这样吗。控件传递给clikc上的bean,甚至加载了值,但它并没有反映在tab中。。。我用属性
dynamic=“true”
测试了它。如果单击第一个选项卡,则不会加载它。我会修改我的答案。使用widgetVar的方法。行了,还是不行。该选项卡处于打开状态,没有数据。我保持动态=“真实”。我也在使用facelets。这可能会影响结果。我希望在accordion中使用类似“collapseAll()”的方法,因为在当前版本(4.0)中,只有“unselect(X)”,其中X是要折叠的选项卡的索引。我认为这是新版本的一个很好的细节。@AlvaroCachoperro你说得对,
widgetVar.collapseAll()
不见了。我试图在以下问题中引起一些注意:它为我扩展了第二个选项卡,即PF 5.0。不展开第二个选项卡。
PF('accordionWidgetVarName').unselect(0);