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" />

Значения переключателей никогда не меняются. Они выбираются только по клику. В свою очередь, выбранные значения представлены, а невыбранные значения нет.

Другие вопросы по тегам