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



>我得到了一个表单,其中包括我需要更新的outputPanel,不包括它的一个组件(它包含日历,在我调用update后重置,我想防止这种情况(

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

但是我不知道如何实现这样的事情(上面的例子不起作用(?

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

您可以向要排除的组件添加样式类,并使用如下所示的内容:

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

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

另请参阅:

  • update="@(.myClass("中的PrimeFaces Selectors如何工作?

最新更新