selectOneChoice, valueChangeListener and partialTriggers

View: New views
1 Messages — Rating Filter:   Alert me  

selectOneChoice, valueChangeListener and partialTriggers

by Rodrigo ILO (OSV) :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Hi All.

 

I want to auto-populate a set of fields depending on a dropdown menu.

This is my dropdown menu.

 

<tr:selectOneChoice id="populatedFromContactId" value="#{shipmentForm.shipmentModel.shipment.shipperAddress.populatedFromContactId}" valueChangeListener="#{shipmentForm.addressChangeListener}" autoSubmit="true">

 <f:selectItem itemLabel="#{msgs.Select_Label}" itemValue="" />

 <f:selectItems value="#{shipmentForm.senderIds}" var="selectItem" itemLabel="#{selectItem.label}" itemValue="#{selectItem.value}" />

 </tr:selectOneChoice>

 

This is one of my input fields that I want to be populated.

 

<tr:inputText id="name" value="#{shipmentForm.shipmentModel.shipment.shipperAddress.name}" partialTriggers="populatedFromContactId"/>

 

This is the method called when dropdown value is changed.

 

public void addressChangeListener(ValueChangeEvent valueChangeEvent) {

            FacesContext facesContext = FacesContext.getCurrentInstance();

            UIViewRoot uiViewRoot = facesContext.getViewRoot();

 

            String tmpName = "";

 

            String newSenderId = (String) valueChangeEvent.getNewValue();

 

            AddressBook addressBook = (AddressBook) lookupService

                        .getEntityById(AddressBook.class, new Long(newSenderId));

 

            tmpName = addressBook.getName();

 

            // set new Name              

UIInput inputText = (UIInput) uiViewRoot

                        .findComponent("shipmentForm:name");

            inputText.setValue(tmpName);

            inputText.setSubmittedValue(tmpName);

 

            facesContext.renderResponse();            }

      }

 

The method was called when the dropdown value changed but the input text value was not updated.

How do I update the input text value?

 

Thanks!

Igo