views:

16

answers:

0

I'm using AjaxTags as a defined set of JSP tags to facilitate AJAX programming, saving me from some heavy lifting. The project is in trial mode, so I may not adopt the technology and write my own solution.

Here's what I'm running into (code abbreviated)

I have a drop-down list that defines an item that populates numerous other drop-down lists.

<form>
...
<select id="item1" name="item1">
  <c:forEach items="${list1}" var="item">
    <option value="${item}">${item}</option>
  </c:forEach>
</select>

<select id="item2" name="items2"></select>
<select id="item3" name="items3"></select>
...
</form>

<ajax:select 
    source="item1" 
    target="item2" 
    baseUrl="${pageContext.request.contextPath}/doAction.view" 
    parameters="action1 = {item}" />

<ajax:select 
    source="item1" 
    target="item3" 
    baseUrl="${pageContext.request.contextPath}/doAction.view" 
    parameters="action2 = {item}" />

The code above works with my back-end, initiating a call to a servlet class that is listening for calls, parses the parameter and takes action based upon the name of the parameter passed. The problem comes from adding the second ajax:select tag above. An action in drop-down "item 1" only causes "item 3" to be populated with new values. What I want is for an action in "item 1" to populate "item 2" and "item 3" (and 4, 5, 6...).

Has anyone else used AjaxTags (ajaxtags.sourceforge.net) and solved a similar solution?

Environment Details: Tomcat 5.5.27, Spring 2.0.8, Struts 1.2.9, Java 6