Uso il tag PrimeFaces <p:ajax>
nel mio codice. In che modo è possibile escludere un componente figlio dall'aggiornamento in una chiamata ajax che aggiorna un componente principale?Come escludere il componente figlio nell'aggiornamento ajax di un componente padre?
17
A
risposta
26
Se si utilizza almeno PrimeFaces 3.3, è possibile utilizzare PrimeFaces Selectors per questo. Ciò consente di utilizzare jQuery CSS selector syntax negli attributi process
e update
dei componenti ajax di PrimeFaces.
Ad esempio:
<h:form>
<h:inputText ... />
<h:inputText ... />
<h:inputText ... styleClass="noupdate" />
<h:inputText ... />
<h:inputText ... />
<p:commandButton ... update="@(form :not(.noupdate))"/>
</h:form>
Questo esempio aggiornerà l'intero modulo eccetto ingressi aventi class="noupdate"
nel lato client.
Se si desidera aggiornare un tutti i bambini di una certa componente tranne uno, sostituire 'forma' per l'id del componente circostante (o di una classe o di ...)
<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))"/>
Basta fare in modo usa l'id completo sul lato client.
grazie per la risposta! Non ero a conoscenza del fatto che i selettori jQuery possano essere usati nell'attributo di aggiornamento Primefaces. – Pranjali
Prego. – BalusC
la sintassi dovrebbe inviare anche altri moduli nella pagina? –