4 Replies Latest reply on Oct 20, 2007 2:44 AM by turkishpirate

    a4j:repeat and inputNumberSpinner.value problem

    kannattaa

      inputNumberSpinner doesn't change its value when it is in a loop
      but outside a loop everything is ok.

      <rich:inputNumberSpinner value="#{bean.spinnerValue}" immediate="true" >
       <a4j:support event="onchange" reRender="spinnerValueOutputId"/>
      </rich:inputNumberSpinner>
      <s:div id="spinnerValueOutputId">
       <h:outputText value="#{bean.spinnerValue}" />
      </s:div>
      <a4j:repeat value="#{bean.getItems()}" var="currentItem">
       <a4j:form ajaxSingle="true">
       <rich:inputNumberSpinner value="#{bean.spinnerValue}" immediate="true" >
       <a4j:support event="onchange" reRender="spinnerValueOutputId"/>
       </rich:inputNumberSpinner>
       <s:div id="spinnerValueOutputId">
       <h:outputText value="#{bean.spinnerValue}" />
       </s:div>
       </a4j:form>
      </a4j:repeat>
      

      how can i get the changed value in backing bean?

      if valueChangeListener is a decision, then how to pass parameters to it?

      note, that valueChangeListener occurs before an action method of a4j:support.(i wrote about this problem in http://www.jboss.com/index.html?module=bb&op=viewtopic&t=121436)



        • 1. Re: a4j:repeat and inputNumberSpinner.value problem
          ilya_shaikovsky

          you should use variable defined in your var instead of concrete bean's variable. Because in your case all the spinners will be submited with applying their values in the same property.

          • 2. Re: a4j:repeat and inputNumberSpinner.value problem
            kannattaa

            i've simplified the code
            <rich: inputNumberSpinner value="#{bean.getSomeOtherBean(currentItem).spinnerValue}"/>
            is used in the original code.

            idea of the example was to show that the first part

            <rich:inputNumberSpinner value="#{bean.spinnerValue}" immediate="true" >
             <a4j:support event="onchange" reRender="spinnerValueOutputId"/>
            </rich:inputNumberSpinner>
            <s:div id="spinnerValueOutputId">
             <h:outputText value="#{bean.spinnerValue}" />
            </s:div>

            works fine

            but the second :
            <a4j:repeat value="#{bean.getItems()}" var="currentItem">
             <a4j:form ajaxSingle="true">
             <rich:inputNumberSpinner value="#{bean.spinnerValue}" immediate="true" >
             <a4j:support event="onchange" reRender="spinnerValueOutputId"/>
             </rich:inputNumberSpinner>
             <s:div id="spinnerValueOutputId">
             <h:outputText value="#{bean.spinnerValue}" />
             </s:div>
             </a4j:form>
            </a4j:repeat>
            doesn't work properly

            if you try to play with any inputNumberSpinner
            spinnerValueOutputId's div will be refreshed but with the initial value, not new!

            • 3. Re: a4j:repeat and inputNumberSpinner.value problem
              kannattaa

              is there a way to get new value?

              • 4. Re: a4j:repeat and inputNumberSpinner.value problem
                turkishpirate

                Yes, yes!!! I have the same problem.
                Please, russian guys, tell us how to fix it. :)