RadioGroup sex; //define as a member variable ..
sex = new RadioGroup("sex", new Model(SexEnum.MALE) ) ; //important: the model of the radio group has to be the same as // the model for the individual radio members as well. Radio male = new Radio("M", new Model(SexEnum.MALE)); Radio female = new Radio("F", new Model(SexEnum.FEMALE)); sex.add(male.add(new AjaxEventBehavior("onchange") { protected void onEvent(AjaxRequestTarget target) { // add your favorite component. } }); sex.add(female.add(new AjaxFormSubmitBehavior("onclick") { @Override protected void onSubmit(AjaxRequestTarget target) { //sex.getModelObject() // will have the selected model object. //SexEnum.Male / SexEnum.Female in this case. } @Override protected void onError(AjaxRequestTarget target) { // TODO Auto-generated method stub } }); This seems to work. On 7/5/08, Rakesh Sinha <[EMAIL PROTECTED]> wrote: > Ok - my new code looks as follows: > ----------------------------------------------------- > > > RadioGroup sex = new RadioGroup("sex"); > > Radio male = new Radio("M", new Model(SexEnum.MALE)); > Radio female = new Radio("F", new Model(SexEnum.FEMALE)); > > sex.add(male.add(new AjaxEventBehavior("onchange") { > protected void onEvent(AjaxRequestTarget target) { > // add your favorite component. > } > }); > sex.add(female.add(new AjaxEventBehavior("onchange") { > protected void onEvent(AjaxRequestTarget target) { > // add your favorite component. > } > }); > > This seems to associate the right event with the radio buttons. > > Having said that - I was curious - how would I distinguish between the > different radio buttons in a given radio group (between M and F , in > the above example ) to see which value has been chosen. Is there a > method in RadioGroup , that will given something like a current > selected radio model or something similar to that ? > > > > > > On 7/5/08, Rakesh Sinha <[EMAIL PROTECTED]> wrote: > > I changed the code to be AjaxFormComponentUpdatingBehavior ("onclick") > > - but it still does not seem to work ( though , onclick *is* the right > > method to invoke from javascript ). > > > > The generated HTML does not seem to contain the javascript invocation > > for the particular event. I am suspecting something wrong with my html > > code. > > > > > > html: > > ==== > > > > <wicket:container wicket:id="sex"> > > <td><input wicket:id="M" type="radio" />Male <input > > wicket:id="F" type="radio" />Female</td> > > </wicket:container> > > > > > > Would this be correct ? > > > > > > > > On 7/5/08, Timo Rantalaiho <[EMAIL PROTECTED]> wrote: > > > On Sat, 05 Jul 2008, Rakesh Sinha wrote: > > > > This does not seem to invoke the ajax code handler that I was > > > > expecting when I select an age in the front - end. Any idea what I am > > > > missing here. > > > > > > > > > Check out which JavaScript event gets triggered on checking > > > the radio button. It might be onclick instead of onchange, > > > in which case new > > > AjaxFormComponentUpdatingBehavior("onclick") in place of > > > OnChangeAjaxBehavior should work. > > > > > > Best wishes, > > > Timo > > > > > > > > > -- > > > Timo Rantalaiho > > > Reaktor Innovations Oy <URL: http://www.ri.fi/ > > > > > > > --------------------------------------------------------------------- > > > 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]