On Wed, Nov 11, 2009 at 3:53 PM, Peter Ross <pdr...@gmail.com> wrote: > On Wed, Oct 28, 2009 at 5:08 PM, Jason Novotny wrote: >> Martin Makundi wrote: >>> >>> ... and expect trouble with ajaxifying jquery plugins that skin html >>> components. They will not work properly if you replace your components >>> via ajax - or at least you might have to work hard on it. >>> >> >> Bingo!! I've been hitting this wall, and pulling my hair out-- in fact I >> may ditch jQuery for this very reason since I can't find a suitable >> workaround :-( >> > Here is the solution I used, I just emailed the list to ask if this is > the correct approach: > > The following is some code which has an integer field with an associated > slider > > The AbstractBehavior is the bit which determines if we are in an ajax > request or not and adds the init js code in the correct place to make > sure it's called. > private void init() { > field = new TextField("field", getModel()); > add(field); > > WebComponent c = new WebComponent("slider"); > c.setOutputMarkupId(true); > slider_id = c.getMarkupId(); > add(c); > > // Write out the javascript to initialize the slider > add(new AbstractBehavior() { > �...@override > public void renderHead(IHeaderResponse response) { > IRequestTarget target = RequestCycle.get().getRequestTarget(); > > if (target instanceof AjaxRequestTarget) { > // If the target is an ajax request then we need > // to execute just the slider js. > AjaxRequestTarget t = (AjaxRequestTarget) target; > t.appendJavascript(init_slider_js()); > } else { > // Otherwise render the slider when the document is ready. > > response.renderJavascript(init_slider_when_doc_ready_js(), null); > } > } > }); > > } > Someone helpfully pointed out to me that renderHead could be simplified to
public void renderHead(IHeaderResponse response) { response.renderOnDomReadyJavascript(init_slider_js()); } --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org