2014-01-22 38 views
5

我正在使用p:selectOneRadiop:ajax和另一個組件(p:inputText)的值,未綁定其值在我的bean中。p:selectOneRadio不更新事件「更改」中的模型與p:ajax

如果我使用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> 

回答

6

擺脫event="change",這是錯誤的事件。它默認爲click,並且已經是正確的。

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

單選按鈕值永遠不會改變。他們只有通過點擊選擇。反過來,選定的值將被提交,但未選中的值不會被提交。