0

選択ボックスのonchange-eventによってトリガーされるradio-componetを更新しようとしています。オンチェンジ後、ラジオボタンが希望どおりに切り替わるのがわかりますが、次の1秒で自動的に切り替わります。

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

ここで何が欠けていますか?

ジョニー

4

1 に答える 1

3

削除onchange="this.form.submit()"f:ajaxサーバーに値を送信します)

また、削除immediate="true"します(ここで検証をスキップする予定はないと思います)

最後に、に変更<p:ajax update="radioId"/>します<f:ajax render="radioId"/>

p:ajaxPrimefacesからのものであり、プレーンJSFコンポーネントを使用しています

BalusCが提案したように:valueChangeListener="#{someBean.someChange}"を追加して置き換えることもできlistener="#{someBean.someChange}"ますf:ajax(メソッドのシグネチャも変更する必要があります)

于 2012-07-17T13:11:09.543 に答える