2014-01-22 3 views
5

Ich benutze eine p:selectOneRadio mit p:ajax und den Wert einer anderen Komponente (p:inputText), nicht verbindlich seinen Wert in meiner Bean.p: selectOneRadio nicht aktualisieren Modell in Ereignis "ändern" mit p: ajax

Wenn ich p:selectBooleanCheckbox stattdessen das Verhalten verwenden, ist genau das, was ich brauche, aktualisieren Sie die Bean vor dem Aufruf der Methode in Ajax. Ist das ein Fehler in p:selectOneRadio oder ist dies das Standardverhalten?

Ich verwende JSF2, PrimeFaces 4

The xhtml Code:

<p:selectOneRadio id="enumId" value="#{xyzController.entity.enumValor}" 
    disabled="#{disabled}" required="true" plain="true"> 
    <f:selectItems value="#{xyzController.enum}" var="item" 
     itemLabel="#{messages[ELUtils.evaluateExpression(itemLabelEL)]}" 
     itemValue="#{item}" /> 
    <p:ajax event="change" listener="#{xyzController.aoTrocar}" 
     update="panelDominioFields" process="@form" /> 
</p:selectOneRadio> 

<p:outputPanel layout="inline" id="panelDominioFields"> 
    <p:inputText id="valorId" 
     value="#{xyzController.entity.valorNumericoValido}" 
     rendered="#{xyzController.mostrarCampoDominioNumerico}" 
     required="true"> 
     <f:convertNumber type="number" locale="#{localeController.locale}" 
      currencyCode="#{localeController.currencyCode}" /> 
    </p:inputText> 
</p:outputPanel> 

Antwort

6

Sie sich von event="change" los, dann ist es das falsche Ereignis. Es ist standardmäßig click und ist schon richtig.

<p:ajax listener="#{xyzController.aoTrocar}" 
    update="panelDominioFields" process="@form" /> 

Optionsfeldwerte ändern sich nie. Sie sind nur ausgewählt per Klick. Ausgewählte Werte werden übergeben, nicht ausgewählte Werte dagegen nicht.

Verwandte Themen