JSF PrimeFaces ajax更新不包括一个组件

时间:2018-03-02 11:46:54

标签: ajax jsf primefaces

我有一个表单,其中包含我需要更新的outputPanel,不包括其中一个组件(它包含日历,在我调用update后重置,我想阻止它)

<p:ajax update=":form1:outputPanel1 :not(form1:outputPanel1:nestedOutputPanel)"/>

但我不知道如何才能实现这样的目标(以上示例不起作用)?

1 个答案:

答案 0 :(得分:4)

PrimeFaces update属性采用由空格(或逗号)分隔的一个或多个表达式。通常(在普通JSF中)这些表达式是客户端ID,但在PrimeFaces中,您也可以使用selectors。执行选择器并生成要更新的客户端ID列表。您可以使用选择器选择需要更新的所有组件,并排除您不想更新的组件。

您可以将样式类添加到要排除的组件中,并使用以下内容:

update="@(.parent :not(.exclude))"

正如您可以在链接问题的顶部答案中读到的那样,@(...)选择器将用作jQuery选择器。因此,您可以在浏览器的JavaScript控制台中轻松测试选择器$("...")

另见: