豊富な顔を持つ JSF を使用したフォームがあります。フォームには、「はい」と「いいえ」の 2 つのラジオ ボタンがあります。デフォルトの選択は「はい」です。「いいえ」をクリックすると、テキストエリアが下に表示されます。しかし、そうではありません。代わりに、2 回目のクリックで表示されます。最初に「いいえ」をクリックします (デフォルトは「はい」) 何も起こらず、次に「はい」をクリックすると、下のテキスト領域が表示されますが、自動的に「いいえ」が選択されます。
コードは次のとおりです。
<h:outputLabel for="cheapest">Cheapest Flight?</h:outputLabel>
<h:selectOneRadio id="cheapest" value="#{myController.selectedItem.cheapest}" disabled="#{myController.showMode}">
<f:selectItems value="#{yesNoTypeItems.items}" />
<a4j:ajax event="change" render="@form" execute="@form" />
</h:selectOneRadio>
<h:outputLabel for="newArea" rendered="#{myController.selectedItem.cheapest == false}">New Text Area</h:outputLabel>
<h:inputTextarea id="newArea" rendered="#{myController.selectedItem.cheapest == false}" disabled="#{myController.showMode}"
value="#{myController.selectedItem.newArea}" style="width:300px;height:100px;">
</h:inputTextarea>