1

我有一个使用具有丰富面孔的 JSF 的表单。在表单中有两个单选按钮:“是”和“否”。默认选择是“是”。单击“否”时,下方应出现一个文本区域。但事实并非如此。而是出现在第二次点击中;我首先单击“否”(默认为“是”)没有任何反应,然后单击“是”,现在它可以工作了,出现下面的文本区域但它会自动选择“否”。

这是代码:

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

1 回答 1

0

onchange - 当该元素失去焦点并且其值在获得焦点后已被修改时执行的 Javascript 代码。(文档

也许不幸的是,更改事件不会在您期望的时候触发。如果需要,请使用 click 事件并检查值是否实际被更改。

于 2013-09-11T08:22:30.673 回答