I have a composite component which has ajax:
<composite:interface>
<composite:attribute name="question" required="true"/>
<composite:attribute name="value" required="false"/>
<composite:attribute name="id" required="true" />
<composite:clientBehavior name="alter"
event="change" targets="input"/>
</composite:interface>
<composite:implementation>
<label for="#{cc.attrs.id}">
<h:outputText value="#{cc.attrs.question}" />
</label>
<div class="fld">
<h:selectOneRadio value="#{cc.attrs.value}" id="input">
<f:selectItem itemValue="true" itemLabel="Yes" />
<f:selectItem itemValue="false" itemLabel="No" />
</h:selectOneRadio>
</div>
</composite:implementation>
when I am using this composite component in my page like so:
<question:yesNo question="#{myMSG['knowRegQuestion']}" value="#{vehicle.regKnown}" id="is-reg-known">
<f:ajax event="alter" render="reg-unknown" />
</question:yesNo>
......
<h:panelGroup id="reg-unknown" styleClass="questionGroup man-veh-srch">
......
<h:selectOneListbox value="#{vehicle.model}" size="1" rendered="#{vehicle.regKnown eq 'true'}">
......
</h:selectOneListbox>
</h:panelGroup>
The ajax is firing, the model is being updated correctly but the rendering does not change. (I have tried various EL expressions) Also the ajax response does not look correct in firebug:
<?xml version='1.0' encoding='UTF-8'?>
<partial-response id="j_id1"><changes><update id="j_id1:javax.faces.ViewState:0"><![CDATA[-2911901889097730230:4227240037100614528]]></update></changes></partial-response>
What have I missed? (thanks)