web-dev-qa-db-ja.com

親コンポーネントのajaxアップデートで子コンポーネントを除外するにはどうすればよいですか?

PrimeFacesを使用しています<p:ajax>タグをコードに追加します。親コンポーネントを更新するajax呼び出しで、子コンポーネントが更新されないようにするにはどうすればよいですか?

23
Pranjali

少なくとも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を使用していることを確認してください。

参照:

36
BalusC