-1
<h:selectOneMenu class="medium" id="state" value="#{locationDataBean.stateSelected}" required="true" requiredMessage="Select State">
     <f:selectItem itemLabel="Select State" itemValue="-1"/>
     <f:selectItems value="#{systemResultViewUtil.stateList}"/>
     <a4j:ajax event="change" listener="#{locationServiceBean.retrieveStateDetails()}" render="district,taluka,centerNameList1,stateMsg"/>
</h:selectOneMenu>
<h:message for="state" style="color: red" id="stateMsg"/>

这是我一直在使用的 JSF 标记,并且value="#{locationDataBean.stateSelected}“已经包含来自 back bean 的 vlaue。但我仍然没有在 chrome 中获得页面上选择的值。它在页面上显示空白记录。获得的值在页面上,即使当我检查元素时,它也会显示以下 html 脚本

<option value="55" selected="selected">466-Assam </option> 但是该值也未显示在页面上。

4

2 回答 2

0

如果选择框 HTML 看起来正确但您在呈现的页面上看不到它,也许您的 CSS 类medium被定义为隐藏它?尝试删除该class属性,看看这是否有任何影响。

于 2012-08-22T12:52:42.773 回答
-1

你试过其他浏览器吗?

尝试 h:selectOneMenu 元素本身中的值更改侦听器,例如

<h:selectOneMenu class="medium" id="state" value="#{locationDataBean.stateSelected}" required="true" requiredMessage="Select State" valueChangeListener="#{locationServiceBean.retrieveStateDetails}">
 <f:selectItem itemLabel="Select State" itemValue="-1"/>
 <f:selectItems value="#{systemResultViewUtil.stateList}"/>

于 2012-08-22T10:24:30.957 回答