Hi,
I am using a4j:support in selectOneMenu in a datatable. And it supposed to rerender an outputPanel contaning a checkbox and an outputText.
Both checkbox and outputText is rendering according to a bean value.
When onchange of selectOneMeny box, on first change it displays checkbox, and second change only it display outputText. Why is that ?
After that the actionListener is never called !!
Here is my code:
<t:column> <f:facet name="header"> <h:outputText id="vt" value="#{msg.vat}" /> </f:facet> <a4j:region immediate="true"> <h:selectOneMenu id="vat" value="#{wkQtDetail.vat}" disabled="#{DefineQuoteBean.readonly}" valueChangeListener = "#{DefineQuoteBean.changeVat}" ><%-- onchange="submit();" limitToList="true" requestDelay="3600"--%> <f:selectItem itemValue="none" itemLabel="Select" /> <f:selectItem itemValue="tbc" itemLabel="TBC" /> <f:selectItem itemValue="fullRt" itemLabel="Std Rated" /> <f:selectItem itemValue="zero" itemLabel="Zero Rated" /> <f:selectItem itemValue="exempt" itemLabel="Exempt" /> <a4j:support event="onchange" actionListener="#{DefineQuoteBean.changeCheckboxSelection}" reRender="chkbox" > <%-- return confirm('Are you sure you want to change?') onsubmit="alert('VAT change');"--%> <a4j:ajaxListener type="org.ajax4jsf.ajax.ForceRender"/> </a4j:support> </h:selectOneMenu> </a4j:region> </t:column> </t:dataTable> <table><tr><td> <a4j:outputPanel ajaxRendered="true"> <h:message for="displVt" style="color:red" /> </a4j:outputPanel> <a4j:outputPanel id="chkbox" ajaxRendered="true" > <h:panelGroup rendered="#{DefineQuoteBean.renderDispVat}"> <h:selectBooleanCheckbox id="displayVat" value="#{DefineQuoteBean.displayVat}" valueChangeListener = "#{DefineQuoteBean.changeSelection}" onclick="submit();" /> <h:outputText id="displVt" value="#{msg.displayVat}" /> </h:panelGroup> </a4j:outputPanel> </td> </tr></table>
Hi,
I worked it out. Changed the outputText value like :
<h:outputText id="displVt" value="Label of checkbox " />
Thanks,