it works fine for me in a fairly old (mid october) snapshot of 4.1. I've got 3 selects that cascade - genres, artists, and disks (plus a table to list tracks) - so the setup should be pretty much identical. My listeners look like this:
@EventListener(elements="genres", events="onchange", submitForm="selectForm", async=true) public void cascadeGenres() { debugCascade(); // print selected values initModels(); // load models with correct data getRequestCycle().getResponseBuilder().updateComponent("artists"); getRequestCycle().getResponseBuilder().updateComponent("disks"); getRequestCycle().getResponseBuilder().updateComponent("trackTable"); setBuildTableModel(true); } @EventListener(elements="artists", events="onchange", submitForm="selectForm", async=true) public void cascadeArtists() { debugCascade(); initModels(); getRequestCycle().getResponseBuilder().updateComponent("disks"); getRequestCycle().getResponseBuilder().updateComponent("trackTable"); setBuildTableModel(true); } @EventListener(elements="disks", events="onchange", submitForm="selectForm", async=true) public void cascadeDisks() { debugCascade(); initModels(); getRequestCycle().getResponseBuilder().updateComponent("trackTable"); setBuildTableModel(true); } --sam On 11/24/06, Mark Reynolds <[EMAIL PROTECTED]> wrote:
Here is my latest issue: I am trying to use @EventListener to handle cascading dependencies in PropertySelections. Imagine three PropertySelections in a form, representing countries, regions, and cities respectively. When the user selects a country, the regions list is populated with appropriate values. When the user selects a region, the cities list is populated with appropriate values. The problem I am having is that when the regions PropertySelection is re-rendered using @EventListener and cycle.getResponseBuilder().updateComponent("regions"), the newly written "regions" element is not connected to its listener. I looks as if the listeners are attached to the elements when the page is first rendered and if an individual element is re-rendered, it is not hooked up to any listener. If I call cycle.getResponseBuilder().updateComponent("body") then the listeners get hooked up again, but that sort of defeats the whole purpose, plus has the side effect of putting the focus back on the first field. Has anyone gotten something like this working? -- Mark R
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]