在JSF中显示或隐藏Slidetoggle

时间:2012-02-15 18:36:18

标签: jquery jsf-2 slidetoggle

我遇到了问题,我需要一些想法来解决它:

我有一个JSF wep页面。索引只有ui:装饰并显示一些页面。 网页中的每个链接都会调用index.xhtml并重新加载所有部分。

其中一个部分是一个菜单,可以通过带有SlideToggle功能的JQuery代码显示或隐藏它(感谢BalusC的帮助)。

我在菜单中有4个部分,带有slidetoggle()。所有这些都开始关闭(显示:无)。

问题是当我点击其中一个部分(现在显示)中的某个链接时,网页刷新,现在......它们再次被隐藏....

我想你知道我想要什么。我该如何解决这个问题呢?

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

使用ajax链接而不是常规链接,并仅重新渲染不包含这些面板的部分

E.g。取代

<h:commandLink value="link" action="#{bean.action}" />

通过

<h:commandLink value="link" action="#{bean.action}">
    <f:ajax execute="some" render="some" />
</h:commandLink>

顺便说一下,您还可以使用一个使用jQuery的JSF组件,而不是使用原始jQuery。例如,PrimeFaces <p:panel>

<p:panel toggleable="true" visible="false">
    ...
</p:panel>
<p:panel toggleable="true" visible="false">
    ...
</p:panel>
...

就是这样。