2

Primefacesセレクターを試していますが、を更新できなかったようpanelGroupです。

<h:panelGroup layout="block" styleClass="updateMe">
    <h:outputText value="#{bean.value}"/>
</h:panelGroup>
<h:form>
    <h:inputText value="#{bean.value}"/>
    <h:commandButton value="submit">
        <p:ajax process="@form" update="@(.updateMe)" oncomplete="alert(1)"/>
    </h:commandButton>
</h:form>

この場合、panelGroup決して更新されません。しかし、に変更するpanelGroup<p:outputPanel>、正常に機能しました。

生成されたHTMLを観察すると、唯一の違いは、によって<span>生成されたHTMLにはがpanelGroupないのidに対し、によって生成されたHTMLにはが含まれoutputPanelていることidです。これが、最初のものが更新されない理由である可能性があります(cos jQueryセレクターがコンポーネントIDを見つけることができませんでしたか?)

その場合、IDを持たず、Primefacesセレクターを使用するときに避ける必要がある他のコンポーネントはありますか?

4

1 に答える 1

4

Primefacesセレクターを使用する場合、jQueryを使用してクライアント側のコンポーネントを選択し、それらのクライアントIDを検出します。AJAXが送信されると、送信されるパラメーターの1つは、javax.faces.partial.render更新する必要のあるコンポーネントのクライアントIDを値とするものです。コンポーネントにクライアントIDがない場合、直接更新することはできません。たとえば、親コンポーネントを更新できます。のid属性をpanelGroup指定し、Primefacesセレクターで更新してみてください。

于 2013-02-26T09:11:19.400 に答える