struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Giovanni Azua <g...@imc.nl>
Subject about linking two autocompleters using topics [never surrender :)]
Date Tue, 04 Dec 2007 10:53:06 GMT
hi,

I have been recently asking how to achieve that changing the value of
autocompleter A, triggers an Ajax reload of autocompleter B and make
the only item returned as selected on B i.e. displayed in its textInputNode.

I followed directions from:
http://struts.apache.org/2.x/docs/ajax-and-javascript-recipes.html#AjaxandJavaScriptRecipes-Linktwoautocompleters%252Cusingtopics

and the reload works okay but making the only element in the ComboBox
selected and displayed in autocompleter textInputNode is the remaining 
issue.

Trying to hack some javascript that will do, below is the code to the 
closest I've got.
I manage that after the reload the autocompleter displays "kaki" big 
deal! but not yet
to display the only item out of the ComboBox.

Ehh please help :)

regards,
Giovanni

***************************** mypage.jsp ****************************

<script type="text/javascript">
  dojo.event.topic.subscribe("/after", function(data, type, request)
  {
     //data : text returned from request
     //request: XMLHttpRequest object
     //widget: widget that published the topic
     // alert(widget.optionsListNode.childNodes.length);
     // alert('happened');
     if (type == "load")
     {
         var widget = dojo.widget.byId("eurosPerListedUnit0");
         alert(widget.comboBoxValue.size);
         widget.textInputNode.value = "kaki";
     }
     // widget.textInputNode.value = widget.comboBoxValue.value;
  }); 
</script>

<s:url var="exchangeRates" action="AjaxGetExchangeRates.action" />

<s:form id="formSimulation" action="%{targetAction}" method="post" 
theme="%{currentTheme}">
    <sx:autocompleter tooltip="Provide the first Historic Book" 
valueNotifyTopics="/changedHistoricBook0" searchType="substring" 
label="Historic Book 1" cssStyle="width: 250px;" dropdownHeight="180" 
name="historicBook0" list="historicBooks" listKey="id" listValue="name" 
/>       
    ...
    <sx:autocompleter id="eurosPerListedUnit0" tooltip="Provide the 
Currency Rate 1" formId="formSimulation" href="%{#exchangeRates}" 
listenTopics="/changedHistoricBook0"
        label="Currency Rate 1" cssStyle="width: 250px;" 
name="eurosPerListedUnit0" autoComplete="false" notifyTopics="/after" />
    ...
    <s:submit value="%{buttonLabel}" align="center"/>
</s:form>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message