PrimeFacesを使用しています<p:ajax>
タグをコードに追加します。親コンポーネントを更新するajax呼び出しで、子コンポーネントが更新されないようにするにはどうすればよいですか?
少なくともPrimeFaces3.3を使用している場合は、これに PrimeFaces Selectors を使用できます。これにより、PrimeFacesajaxコンポーネントのprocess
およびupdate
属性で jQuery CSSセレクター構文 を使用できます。
例えば:
<h:form>
<h:inputText ... />
<h:inputText ... />
<h:inputText ... styleClass="noupdate" />
<h:inputText ... />
<h:inputText ... />
<p:commandButton ... update="@(form :not(.noupdate))"/>
</h:form>
この例では、クライアント側にclass="noupdate"
がある入力を除いて、フォーム全体を更新します。
1つを除く特定のコンポーネントのすべての子を更新する場合は、「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を使用していることを確認してください。