Good to know. I do that a lot. Thanks. --sam
On 11/27/06, Mark Reynolds <[EMAIL PROTECTED]> wrote:
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] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]