我在代码中使用PrimeFaces <p:ajax>
标记。我们如何排除子组件在更新父组件的ajax调用中更新?
答案 0 :(得分:33)
如果您至少使用PrimeFaces 3.3,则可以使用PrimeFaces Selectors。这样,您就可以在PrimeFaces ajax组件的process
和update
属性中使用jQuery CSS selector syntax。
例如:
<h:form>
<h:inputText ... />
<h:inputText ... />
<h:inputText ... styleClass="noupdate" />
<h:inputText ... />
<h:inputText ... />
<p:commandButton ... update="@(form :not(.noupdate))"/>
</h:form>
此示例将更新整个表单,但客户端输入class="noupdate"
除外。
如果你想要更新某个组件的所有子组件,除了一个组件,将'form'替换为周围组件的id(或类或......)
<h:form id="form">
<h:panel id="myPanel">
<h:inputText ... />
<h:inputText ... />
<h:inputText ... styleClass="noupdate" />
</h:panel>
<h:inputText ... />
<h:inputText ... />
<p:commandButton ... update="@(form :not(.noupdate))"/>
</h:form>
<p:commandButton ... update="@(#form\:myPanel :not(.noupdate))"/>
请确保使用完整的客户端ID。