I'm using Soteria 1.0.1 , Mojarra 2.3.9 and PrimeFaces 6.1. on Glassfish 5.1
Inside a ui:repeat the ajax listener is not called on the change-event. The listener is called only once on the click-event. Which event should be used?
I've used foreach to iterate, but the listener is not called.
I've changed the execute-attribute from @this into :frmOverviewPlant:selectDyna3 and :rep_mandatory3:selectDyna3 , but still the listener is not called
If I change f:ajax event="change" into f:ajax event="click" the listener is called but only once.
If I omit the attributes execute: and render: , and use immediate="true" instead, the listener is called. But this is not useful because the value is not sent back to the listener.
If I use the same selectOneMenu outside ui:repeat, the listener is called even without setting the ajax-attribute execute.
Which component could be used to iterate over a dynamically generated list? That list changes each time another main-item is selected. The details of that main-item are rendered in the form.
Is this behaviour caused by ui:iterate? or by invalid values for the ajax-attributes event: or render: or execute: ?
<h:form id="frmOverviewPlant" prependId="false">
<table style="width: 30%" border="0">
<ui:repeat id="rep_mandatory3" value="#{assortiment.mandatoryPropertyList}" var="VBNprop">
<tr><td class="noWrap"> <h:outputText styleClass="#{VBNprop.codevaluesW.value == null ? 'error' : ''}" value="#{msg[VBNprop.codevaluesW.mainCode]}"/></td>
<td class="noWrap">
<h:selectOneMenu id="selectDyna3" value="#{assortiment.plantdetail.addedProperty}" > <f:selectItems value="#{VBNprop.codevaluesList}" />
<f:ajax event="change" listener="#{assortiment.checkAddProperties}" execute="@this" render=":frmOverviewPlant:idTabView:grp_properties"/>
</h:selectOneMenu>
</td>
</tr>
</ui:repeat>
</table>
</h:form>
I expect the listener is called in order to update the main-item with the selected option.