Adding the call to that method seemed to solve the problem.

The places you mentioned are the usual places to look for information.
However I searched the list, read the wiki, checked the examples, and
looked through some books.  I also tried to google what I was trying to
do.  

It just seemed like this was a pretty common thing to do and I would
have thought an answer would have been found much quicker.

Do you recommend any books in particular.  I have "Wicket in Action" and
have ordered "Pro Wicket".  Are there other books that I should be
looking at?

Thanks.

Jeff




-----Original Message-----
From: Per Newgro [mailto:per.new...@gmx.ch] 
Sent: Wednesday, September 30, 2009 2:09 PM
To: users@wicket.apache.org
Subject: Re: RadioChoice and Ajax to display a panel of dropdowns

Only a shot in the dark, but is 
typeBox.setOutputMarkupPlaceholderTag(true) helping? You could use it 
instead of
setOutputMarkupId(true), because its done there to. Otherwise i would 
have to create a testcase for this situation.

There are different places to get informations:
- search this list
- read the wiki
- check the examples
- read a wicket book (many good out there)
It's all explained on the website. Or do you expect them elsewhere?

Cheers
Per
> I did not override the method.    I just did and it is still not
> working.  Here is what I have:
>
> Also, where would one find this type of information.  I don't think
the
> online example show it and blindly guessing methods to look at in
> javadoc doesn't seem efficient.
>
> HTML:
>               <tr>
>                       <td><wicket:message key="userType">Type of
> User:</wicket:message></td>
>                       <td>
>                               <span wicket:id="accountType">
>                                       <input type="radio" />option 1
>                               </span>
>                       </td>
>               </tr>
>               <tr>
>                       <td></td>
>                       <td><span wicket:id="typeBox">The type
> box</span></td>
>               </tr>
>
> Code:
>                       // Account Type sub box
>                       final WebMarkupContainer typeBox = new
> WebMarkupContainer("typeBox") {
>
>                               /* (non-Javadoc)
>                                * @see
> org.apache.wicket.Component#callOnBeforeRenderIfNotVisible()
>                                */
>                               @Override
>                               protected boolean
> callOnBeforeRenderIfNotVisible() {
>                                       return true;
>                               }
>                               
>                       };
>                       typeBox.setVisible(false);
>                       typeBox.setOutputMarkupId(true);
>                       add(typeBox);
>                       
>                       // Account Type Select
>                       List accountTypes = accountTypeDao.findAll();
>                       ChoiceRenderer accountTypeChoiceRenderer = new
> ChoiceRenderer("name", "code");
>                       RadioChoice accountTypeRadio = new
> RadioChoice("accountType", accountTypes, accountTypeChoiceRenderer);
>                       //accountTypeRadio.setRequired(true);
>                       // add the on click to the radio button
>                       accountTypeRadio.add(new
> AjaxFormChoiceComponentUpdatingBehavior () { 
>                   private static final long serialVersionUID = 1L; 
>
>                   @Override 
>                   protected void onUpdate(AjaxRequestTarget target) { 
>                       RadioChoice choice = (RadioChoice)
> getComponent();
>                       choice.updateModel();
>                       
>                       if (((AccountType)
> choice.getModelObject()).getCode().equalsIgnoreCase("REP")) {
>                               typeBox.setVisible(true);
>                       } else {
>                               typeBox.setVisible(false);      
>                       }
>                       target.addComponent(typeBox);
>                   } 
>               });                     
>
>                       add(accountTypeRadio);
>
>
> -----Original Message-----
> From: Per Newgro [mailto:per.new...@gmx.ch] 
> Sent: Wednesday, September 30, 2009 2:17 AM
> To: users@wicket.apache.org
> Subject: Re: RadioChoice and Ajax to display a panel of dropdowns
>
> Hey Jeff,
>
> did you override this?
>
>
>     /**
>      * Override this method if you want onBeforeRender to be called
even
>
> when your component is not
>      * visible. default this returns false.
>      *
>      * @return boolean, if true then onBeforeRender is called even for

> none visible components,
>      *         default false.
>      *
>      * @see Component#onBeforeRender()
>      */
>     protected boolean callOnBeforeRenderIfNotVisible()
>     {
>         return false;
>     }
>
> If you add a visible and an invisible panel you have to override this
on
>
> the invisible one.
>
> hth
> Cheers
> Per
>   
>> I want to create a list of radio buttons [I have that working] and an
>> ajax event to fire whenever a radio button is clicked [I have this
>> working].  If the radio button matches the one I am interested in
then
>>     
> I
>   
>> want to display additional information that must be filled in.  A
>>     
> radio
>   
>> button selection is required.
>>
>>  
>>
>> I cannot get the additional information to display when I add the
>> component back to the target.  I think it is because the additional
>> information is originally set to not visible so the output markup id
>>     
> is
>   
>> not written out.  How would I go about doing this?  It seems pretty
>> standard.  Do I need to use panels and swap the appropriate panel [1
-
>> empty panel, 2 - panel with additional info] into the target when
>> needed?  That seems like a lot of code to do something fairly simple.
>>
>>  
>>
>> My code is below. 
>>
>>  
>>
>> Thanks.
>>
>>  
>>
>> Jeff
>>
>>  
>>
>> =====================
>>
>>  
>>
>> HTML:
>>
>>               <tr>
>>
>>                      <td><wicket:message key="userType">Type of
>> User:</wicket:message></td>
>>
>>                      <td>
>>
>>                            <span wicket:id="accountType">
>>
>>                                   <input type="radio" />option 1
>>
>>                            </span>
>>
>>                      </td>
>>
>>               </tr>
>>
>>               <tr>
>>
>>                      <td></td>
>>
>>                      <td><span wicket:id="typeBox">The additional
>> information</span></td>
>>
>>               </tr>
>>
>>  
>>
>> Java Code:
>>
>>                      // Account Type sub box
>>
>>                      final WebMarkupContainer typeBox = new
>> WebMarkupContainer("typeBox");
>>
>>                      typeBox.setVisible(false);
>>
>>                      typeBox.setOutputMarkupId(true);
>>
>>                      add(typeBox);
>>
>>                      
>>
>>                      // Account Type Select
>>
>>                      List accountTypes = accountTypeDao.findAll();
>>
>>                      ChoiceRenderer accountTypeChoiceRenderer = new
>> ChoiceRenderer("name", "code");
>>
>>                      RadioChoice accountTypeRadio = new
>> RadioChoice("accountType", accountTypes, accountTypeChoiceRenderer);
>>
>>                      //accountTypeRadio.setRequired(true);    // THIS
>> SHOULD REALLY BE REQUIRED
>>
>>                      // add the on click to the radio button
>>
>>                      accountTypeRadio.add(new
>> AjaxFormChoiceComponentUpdatingBehavior () { 
>>
>>                    private static final long serialVersionUID = 1L; 
>>
>>  
>>
>>                    @Override 
>>
>>                    protected void onUpdate(AjaxRequestTarget target)
{
>>     
>
>   
>>                      RadioChoice choice = (RadioChoice)
>>     
> getComponent();
>   
>>                      choice.updateModel();
>>
>>                      
>>
>>                      if (((AccountType)
>> choice.getModelObject()).getCode().equalsIgnoreCase("REP")) {
>>
>>                             typeBox.setVisible(true);
>>
>>                      } else {
>>
>>                             typeBox.setVisible(false); 
>>
>>                      }
>>
>>                      target.addComponent(typeBox);
>>
>>                    } 
>>
>>                });                
>>
>> _______________________________________ 
>>
>> Jeffrey A. Schneller
>>
>>  
>>
>> Envisa
>>
>> End-to-End E-Commerce for the Multi-Channel Merchant
>>
>>  
>>
>> 281 Pleasant Street
>>
>> Framingham, MA  01701
>>
>> P: (508) 405-1220 x115
>>
>> C: (508) 954-8044
>>
>> F: (508) 405-1219
>>
>>  
>>
>>
>>   
>>     
>
>
> ---------------------------------------------------------------------
> 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
>
>   


---------------------------------------------------------------------
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

Reply via email to