以下是.xhtml页面的代码:
<h:selectOneRadio valueChangeListener="#{searchModel.setSelectedSearchItem}" value="#{searchModel.selectedSearchItemName}"
layout="pageDirection">
<f:selectItems value="#{searchModel.searchParametersNames}" var="item" itemValue="#{item}" />
<f:ajax execute="@this" render="searchPane messagesPane" />
</h:selectOneRadio>
相应的方法签名:
public void setSelectedSearchItem(ValueChangeEvent event) {
//do smth...
}
在Chrome,FF和IE9 +中运行良好。 IE7&amp; amp;的问题IE8是ValueChangeEvent在点击radioButton(第一次点击)之后不会触发,但是在我再次点击页面上的其他一些地方后(第二次点击)。在IE7和IE8中第一次点击后,我有机会让ValueChangeEvent激活吗?
答案 0 :(得分:2)
解决了这个问题。加入
onclick="this.blur()"
这里
<h:selectOneRadio valueChangeListener="#{searchModel.setSelectedSearchItem}" value="#{searchModel.selectedSearchItemName}"
layout="pageDirection" onclick="this.blur()">
现在在IE7和IE中需要时会触发事件IE8!