>我得到了一个表单,其中包括我需要更新的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如何工作?