更新值:单选按钮值来回切换

时间:2012-07-17 13:05:33

标签: jsf-2

我正在尝试更新一个无线电组件,它由一个选择框的onchange事件触发。在转换后我看到收音机按钮按需切换,但它会自动切换回下一秒。

<h:selectOneMenu id="selectId" value="#{someBean.someSelectValue}" 
 onchange="this.form.submit()" valueChangeListener="#{someBean.someChange}" immediate="true">
  <p:ajax update="radioId"/>
  <f:selectItems value="#{someBean.availableSraTitel}" />
</h:selectOneMenu>

<h:selectOneRadio id="radioId" value="#{someBean.someRadioValue}">
  <f:selectItem itemLabel="Yes" itemValue="true" />
  <f:selectItem itemLabel="No" itemValue="false" />
</h:selectOneRadio>

我在这里缺少什么?

强尼

1 个答案:

答案 0 :(得分:3)

删除onchange="this.form.submit()"f:ajax会将值提交给服务器)

同时删除immediate="true"(我认为您不打算在此处跳过任何验证)

最后,将<p:ajax update="radioId"/>更改为<f:ajax render="radioId"/>

p:ajax来自primefaces,你使用普通的JSF组件

正如 BalusC 所建议的那样:您最好通过向valueChangeListener="#{someBean.someChange}"添加listener="#{someBean.someChange}"来替换f:ajax(您也应该更改方法的签名)