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]

Reply via email to