Use immediate="true"

--Omar

On Sep 9, 2009, at 8:24 AM, "Roeder, Andreas" <[email protected] > wrote:

Thanx a lot, that worked like a glue. Just one problem is left: all the selectOneChoice components are on required="true". How can I avoid the validation?

I already tried to call at the end of the ValueChangeListener the call:

   FacesContext.getCurrentInstance().renderResponse();

but no success.

-Andreas

-----Ursprüngliche Nachricht-----
Von: Andrew Robinson [mailto:[email protected]]
Gesendet: Montag, 7. September 2009 02:46
An: MyFaces Discussion
Betreff: Re: [Trinidad] How to use an iterator, selectOneChoice and partialTriggers?


If you give partial triggers an EL expression it must evaluate to type String[]. The value change listener is fired for the current iteration, so if you click item 3, the event will be broadcast for the selectOneChoice inside the index 2 of tr:iterator. To move the iterator to a new index you need to save the current row index, set the new index, evaluate code and then set it back.

An iterator stamps out one component and a component only has 1 ID, so you cannot put EL in the ID like you did below. I would advise using <f:attribute/> if you need to store the ID on the component, but just give the choice a static ID.

The resulting IDs on the client will be like "i1:0:soc1", "i1:1:soc1", etc if your iterator had ID "i1" and your selectOneChoice had ID "soc1". So the :#: in between represents the stamp index.

-Andrew

On Fri, Sep 4, 2009 at 7:32 AM, Roeder, Andreas<[email protected] > wrote:
I'm trying to create generic selectOneChoice elements. When the first
selectOneChoice value changes it should update the next one in the
list and so on. I tried to do that via the id, partialTriggers and a
ValueChangeListener:

<tr:iterator value="#{genericFormBean.formDesc.fieldList}"
                               var="field">
 <tr:selectOneChoice
       id="#{field.id}"
       partialTriggers="#{field.partialTriggers}"
       valueChangeListener="#{genericFormBean.valueChange}"
       value="#{genericFormBean.formDesc.modelMap[field.id]}"
       <f:selectItems

value="#{genericFormBean.selectItemMap[field.itemList]}" />
 </tr:selectOneChoice>
<tr:iterator>

But I cannot set the id of the selectOneChoice element. When I try to
get the other selectOneChoice elements in the valueChangeListener I
just see one element in the iterator.childs() collection. Why is that?

I also tried to use a custom renderer to set the id, but as soon I
change the id of one selectOneChoice element all other elements are
getting the same id. It's pretty confusing to me.

Is there another way to do that?

Best Regards,

Andreas



Reply via email to