0

how to pass the result of <ui:repeat> <h:selectOneRadio> in List on Backing bean, using Ajax?

<h:form rendered="#{lessonBean.TEST!=null}">
      <ui:repeat value="#{lessonBean.TEST.questions}" var="quest">
             <h:selectOneRadio value="">
                     <f:selectItem itemValue="1" itemLabel="${quest.a1}"/>
                     <f:selectItem itemValue="2" itemLabel="${quest.a2}"/>
                     <f:selectItem itemValue="3" itemLabel="${quest.a3}"/>
                     <f:selectItem itemValue="4" itemLabel="${quest.a4}"/>
                     <f:selectItem itemValue="5" itemLabel="${quest.a5}"/>
            </h:selectOneRadio>
      </ui:repeat>
</h:form>
BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555

1 Answers1

0

If lessonBean.TEST.questions is a list of Question objects, you can add to Question class new Integer field called answer (with getters and setters) and do something like:

<h:form rendered="#{lessonBean.TEST!=null}">
      <ui:repeat value="#{lessonBean.TEST.questions}" var="quest">
             <h:selectOneRadio value="#{quest.answer}">
                     <f:ajax event="click" process="@this" update="@this">
                     <f:selectItem itemValue="1" itemLabel="${quest.a1}"/>
                     <f:selectItem itemValue="2" itemLabel="${quest.a2}"/>
                     <f:selectItem itemValue="3" itemLabel="${quest.a3}"/>
                     <f:selectItem itemValue="4" itemLabel="${quest.a4}"/>
                     <f:selectItem itemValue="5" itemLabel="${quest.a5}"/>
            </h:selectOneRadio>
      </ui:repeat>
</h:form>
Szarpul
  • 1,531
  • 11
  • 21