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,