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