【发布时间】:2013-12-12 13:35:25
【问题描述】:
这是来自 .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 和 IE8 的问题是 ValueChangeEvent 不是在单击单选按钮后触发(第一次单击),而是在我再次单击页面上的其他位置(第二次单击)后触发。在 IE7 和 IE8 中第一次单击后我可以让 ValueChangeEvent 触发吗?
【问题讨论】:
-
第一次点击前是否设置了值?
-
没有。不要认为是这种情况 - 如果我选择一个选项(当然是第二次点击),那么它将有一个值,但仍然会在下一次点击时触发事件。
-
尝试在启动时设置一个值并再次检查:它有效吗?
-
不。 IE7 和 IE8 仍然只有在任意位置再单击一次后才会触发事件。
标签: jsf-2 internet-explorer-8 internet-explorer-7 myfaces