update - p: selectOneRadio no actualiza el modelo en el evento "cambio" con p: ajax
selectoneradio ajax update (1)
Deshágase de event="change"
, es el evento incorrecto. Por defecto, hace click
y ya es el correcto.
<p:ajax listener="#{xyzController.aoTrocar}"
update="panelDominioFields" process="@form" />
Los valores de los botones de radio nunca cambian. Solo se seleccionan con un clic. A su vez, los valores seleccionados se envían, pero no los valores seleccionados.
Estoy usando un p:selectOneRadio
con p:ajax
y el valor de otro componente ( p:inputText
), sin vincular su valor en mi bean.
Si utilizo p:selectBooleanCheckbox
cambio el comportamiento es exactamente lo que necesito, actualice el bean antes de llamar al método en ajax. ¿Es esto un error en p:selectOneRadio
o es este su comportamiento predeterminado?
Estoy usando JSF2 , PrimeFaces 4
El código xhtml :
<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>