【问题标题】:p:selectOneRadio not updating model in event "change" with p:ajaxp:selectOneRadio 不使用 p:ajax 在“更改”事件中更新模型
【发布时间】:2014-02-12 17:23:07
【问题描述】:

我正在使用 p:selectOneRadiop:ajax 以及另一个组件的值 (p:inputText),而不是在我的 bean 中绑定它的值。

如果我使用p:selectBooleanCheckbox,而行为正是我所需要的,请在 ajax 中调用方法之前更新 bean。这是p:selectOneRadio 中的错误还是它的默认行为?

我正在使用 JSF2PrimeFaces 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>

【问题讨论】:

    标签: ajax jsf-2 primefaces selectoneradio


    【解决方案1】:

    摆脱event="change",这是错误的事件。它默认为click,并且已经是正确的。

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

    单选按钮的值永远不会改变。它们只能通过点击选择。依次提交选定的值,但不提交未选定的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-16
      • 2015-01-19
      • 1970-01-01
      • 2016-07-09
      • 2018-10-24
      • 2012-01-19
      • 2018-02-18
      • 2014-08-09
      相关资源
      最近更新 更多