Thanks, Sam. This was helpful. It turns out that if I directly call .updateComponent on the PropertySelection, then it works. If I wrap the PropertySelection in a <span jwcid="[EMAIL PROTECTED]"> and call .updateComponent on the span, then the updated component in the span loses its listener. I think this may be a bug so I have submitted it to JIRA for Jesse to look at.
On 11/25/06, Sam Gendler <[EMAIL PROTECTED]> wrote:
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]