Pregunta

Here is the code from .xhtml page:

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

And corresponding method signature:

public void setSelectedSearchItem(ValueChangeEvent event) {
    //do smth...
}

It works just fine in Chrome, FF and IE9+. The problem with IE7 & IE8 is that ValueChangeEvent fires not after radioButton is clicked (1st click), but after I click once more some other place on the page (2nd click). Any chance I can make ValueChangeEvent to fire after 1st click in IE7 and IE8?

¿Fue útil?

Solución

Solved this problem. Added

onclick="this.blur()"

here

<h:selectOneRadio valueChangeListener="#{searchModel.setSelectedSearchItem}" value="#{searchModel.selectedSearchItemName}" 
     layout="pageDirection" onclick="this.blur()">

and now event fires when needed in IE7 & IE8!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top