first, you did not show all your code. second, there is too much code to
read through in an email and figure out whats wrong, create a quickstart
project. third, there is already an example that shows how to do this
properly: http://www.wicketstuff.org/wicket13/ajax/choice

-igor

On Sat, Oct 18, 2008 at 3:32 AM, overseastars <[EMAIL PROTECTED]> wrote:

>
> Any idea???I'm trapped by this problem......and no idea.....
>
>
>
> overseastars wrote:
> >
> > Hi all
> >
> > I'm having problems with using AjaxFormComponentUpdatingBehavior.
> > I'd like to make to ListChoices which contain a list of countries and
> > cities. For example, if I select one item in the first ListChoice and the
> > second ListChoice should display the related cities. Since I dont know
> how
> > to get some lists of cities, I just arbitrarily pick up one list to use.
> > the following is part of my code.
> >
> > My case is that it actually works when the frontpage is opened at the
> > first time. However, after the first click, the second doesnt work and
> > that getModelObjectAsString gives me null value. And if I refresh the
> > page, two lists both become empty.
> >
> > Could someone please help me out?? Thanks in advance. BTW, I also wanna
> > know how to get some lists of cities. :-DMany thanks..
> >
> >
> ************************************************************************************************************
> > private String countries;
> >       private String countries1;
> >
> >       private ListChoice countryListChoice;
> >       private ListChoice countryListChoice1;
> >       private List<String> tl;
> >       private List<String> testlist;
> >
> > public SearchForm(String id) {
> >               super(id);
> >
> >                 setModel(new CompoundPropertyModel(""));
> >               tl = CountryListChoice.getCOUNTRIES();
> >               testlist = CountryListChoice.getCOUNTRIES();
> >               setOutputMarkupId(true);
> >               CountryListChoice clc = new CountryListChoice();
> >               countryListChoice = new ListChoice("countries", new
> PropertyModel(this,
> > "countries"), tl, clc.getRenderer());
> >               countryListChoice.setOutputMarkupId(true);
> >               add(countryListChoice);
> >
> >               CountryListChoice clc1 = new CountryListChoice();
> >               countryListChoice1 = new ListChoice("countries1", new
> > PropertyModel(this, "countries1"), testlist, clc.getRenderer());
> >               countryListChoice1.setOutputMarkupId(true);
> >               add(countryListChoice1);
> >
> >               countryListChoice.add(new
> > MyAjaxFormComponentUpdatingBehavior("onChange"){
> >
> >                       /* (non-Javadoc)
> >                        * @see
> >
> com.smartbooking.wicket.component.MyAjaxFormComponentUpdatingBehavior#onUpdate(org.apache.wicket.ajax.AjaxRequestTarget)
> >                        */
> >                       @Override
> >                       protected void onUpdate(AjaxRequestTarget target) {
> >                               // TODO Auto-generated method stub
> >                               if(countryListChoice.getModelObject() !=
> null){
> >                               testlist.clear();
> >                               String c =
> countryListChoice.getModelObjectAsString();
> >                               System.out.println("\n\nour c : " + c +
> "\n\n");
> >                               testlist.add(c);
> >                               }else{
> >                                       testlist.clear();
> >                                       testlist.add("xing said null");
> >                                       System.out.println("\n\n really
> null!!! \n\n");
> >                               }
> >                               target.addComponent(countryListChoice1);
> >                       }});
> >               }
> >       /**
> >        * @return the countries
> >        */
> >       public String getCountries() {
> >               return countries;
> >       }
> >
> >       /**
> >        * @param countries the countries to set
> >        */
> >       public void setCountries(String countries) {
> >               this.countries = countries;
> >       }
> >
> >       /**
> >        * @return the countries1
> >        */
> >       public String getCountries1() {
> >               return countries1;
> >       }
> >
> >       /**
> >        * @param countries1 the countries1 to set
> >        */
> >       public void setCountries1(String countries1) {
> >               this.countries1 = countries1;
> >       }
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/AjaxFormComponentUpdatingBehavior-problem-tp20032008p20045781.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to