0

我在下面的 selectOneMenu 中没有调用侦听器的问题

<h:selectOneMenu id="Country" value="#{bean.country}">
   <f:ajax render="inputId" listener="#{backingBean.clearMethod}" />
     <f:selectItem itemLabel="-Select One-" itemValue="_" noSelectionOption="true"/>
     <f:selectItems value="#{optionValues['countryList']}" />
</h:selectOneMenu>
<h:inputText id="inputId" value="#{bean.city}"/>

optionValues 解析器用于从 xml 文件中解析国家列表选项。它有美国、加拿大和墨西哥。我的问题是,当我将选项从 USA 更改为 Canada 或 Select One 更改为 USA 时,clearMethod会调用 。但是当我将选项从 USA 更改为 Select One 时,clearMethod不会调用。

任何帮助,将不胜感激。

4

1 回答 1

1

我认为问题出itemValuenoSelectionOption. 它可能会导致验证错误,因此不会调用侦听器。

尝试删除该itemValue属性。

(顺便说一句:在您的代码中,value属性selectOneMenu未绑定到支持 bean 字段。或者它是一个错字?)

于 2012-04-19T06:34:10.863 回答