p:selectOneRadio не обновляет модель в событии "изменение" с помощью p:ajax
Я использую p:selectOneRadio
с p:ajax
и значение другого компонента (p:inputText
), не связывая его значение в моем бобе.
Если я использую p:selectBooleanCheckbox
вместо этого поведение именно то, что мне нужно, обновите bean-компонент перед вызовом метода в ajax. Это ошибка в p:selectOneRadio
или это поведение по умолчанию?
Я использую JSF2, PrimeFaces 4
Код 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>
1 ответ
Избавляться от event="change"
Это неправильное событие. По умолчанию click
и уже правильный.
<p:ajax listener="#{xyzController.aoTrocar}"
update="panelDominioFields" process="@form" />
Значения переключателей никогда не меняются. Они выбираются только по клику. В свою очередь, выбранные значения представлены, а невыбранные значения нет.