Re: Using AjaxCheckBox
Hi, calling b.setOutputMarkupId(true) during Ajax request is too late. The HTML tag will not have a markup id, so nothing will be updated. Call this method immediately after constructing the checkbox. Regards Sven On 08/23/2010 09:18 PM, Anna Simbirtsev wrote: Hi, I am trying to use AjaxCheckBox to update another checkbox model object when this checkbox is clicked. CheckBox b = new CheckBox(basicCreate, new ModelBoolean()); AjaxCheckBox a = new AjaxCheckBox(create, new ModelBoolean()) { private static final long serialVersionUID = 288634742710645609L; protected void onUpdate(AjaxRequestTarget target) { if (getModelObject()) { b.setModelObject(true); b.setOutputMarkupId(true); target.addComponent(b); } } }; So when checkbox a is checked, I want checkbox b to be checked as well. But nothing happens. Am I doing something wrong? Thanks, Anna - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org
Re: Using AjaxCheckBox
Thanks, this fixed a problem. But I thought, it would give me an error message, if I am trying to update a component that does not have setOutputMarkupId(true) ? On Mon, Aug 23, 2010 at 3:26 PM, Sven Meier s...@meiers.net wrote: Hi, calling b.setOutputMarkupId(true) during Ajax request is too late. The HTML tag will not have a markup id, so nothing will be updated. Call this method immediately after constructing the checkbox. Regards Sven On 08/23/2010 09:18 PM, Anna Simbirtsev wrote: Hi, I am trying to use AjaxCheckBox to update another checkbox model object when this checkbox is clicked. CheckBox b = new CheckBox(basicCreate, new ModelBoolean()); AjaxCheckBox a = new AjaxCheckBox(create, new ModelBoolean()) { private static final long serialVersionUID = 288634742710645609L; protected void onUpdate(AjaxRequestTarget target) { if (getModelObject()) { b.setModelObject(true); b.setOutputMarkupId(true); target.addComponent(b); } } }; So when checkbox a is checked, I want checkbox b to be checked as well. But nothing happens. Am I doing something wrong? Thanks, Anna - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org -- Anna Simbirtsev (416) 729-7331
Re: Using AjaxCheckBox
Yes, you did call it before #addComponent(): b.setOutputMarkupId(true); target.addComponent(b); But Wicket doesn't keep track of *when* you called the method, i.e. before or after the Ajax request. IIRC there should be an error message in the Ajax debug window. Regards Sven On 08/23/2010 09:30 PM, Anna Simbirtsev wrote: Thanks, this fixed a problem. But I thought, it would give me an error message, if I am trying to update a component that does not have setOutputMarkupId(true) ? On Mon, Aug 23, 2010 at 3:26 PM, Sven Meiers...@meiers.net wrote: Hi, calling b.setOutputMarkupId(true) during Ajax request is too late. The HTML tag will not have a markup id, so nothing will be updated. Call this method immediately after constructing the checkbox. Regards Sven On 08/23/2010 09:18 PM, Anna Simbirtsev wrote: Hi, I am trying to use AjaxCheckBox to update another checkbox model object when this checkbox is clicked. CheckBox b = new CheckBox(basicCreate, new ModelBoolean()); AjaxCheckBox a = new AjaxCheckBox(create, new ModelBoolean()) { private static final long serialVersionUID = 288634742710645609L; protected void onUpdate(AjaxRequestTarget target) { if (getModelObject()) { b.setModelObject(true); b.setOutputMarkupId(true); target.addComponent(b); } } }; So when checkbox a is checked, I want checkbox b to be checked as well. But nothing happens. Am I doing something wrong? Thanks, Anna - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org - To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org