I think setOutputMarkupId() should have been called earlier, in the MyTemplate constructor when the Header was constructed. Ajax processing needs the markup id to find the component you're changing, so setting it in onModelChanged() is too late. Also, I don't think you need the call to modelChanged() or to override onModelChanged. Changing the model object and adding the component to the target should be sufficient.

-Don

On Feb 8, 2010, at 2:16 AM, Rangel Preis wrote:

My template HTML

<html xmlns="http://www.w3.org/1999/xhtml";
xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd ">
        <head>
                <title wicket:id="title"></title>
                <meta wicket:id="description" name="description" content=""/>
                <meta wicket:id="keywords" name="keywords" content=""/>
                <meta wicket:id="version" name="version" content=""/>
        </head>
        <body>

       <a href="#irconteudo" style="display: none;"></a>


                <div wicket:id="header" class="header"></div>
        
                <!-- conteudo -->
                <div id="conteudo">
                        <table class="layout">
                                <tr>
                                        <td wicket:id="col_esq" 
class="col_esq"/>
                                        <td>
                                                <a name="irconteudo" style="display: 
none;"></a>
                            <div wicket:id="feedback" id="feedback"/>
                                <wicket:child/>
                                        </td>
                                        <td class="col_dir">
                                        </td>
                                </tr>
                        </table>
                </div>    
                <div wicket:id="footer" class="footer"></div>   
        </body>
</html>

Header.html

<wicket:panel>
   <div class="right">
       <div wicket:id="header_client" class="client"></div>
   </div>
        //Value that i want to change
        <div class="conter">
        <a wicket:id="conter"><span wicket:id="itens"/></a>
   </div>

   <div class="left">
        <a wicket:id="header_home_link"><div class="logo"/></a>
        </div>
        
        <div wicket:id="header_search" class="search"></div>
</wicket:panel>

Thanks.

2010/2/5 Riyad Kalla <rka...@gmail.com>:
What do the tasty HTML bits look like? (wicket:ids and what not)

On Fri, Feb 5, 2010 at 12:50 PM, Rangel Preis <rangel...@gmail.com> wrote:
How can I use Ajax to change value from a parent page in my layout. I
try to change values in header using a action from content page.

I have this:

   |-------------------------------|
   |           HEADER           |
   |-------------------------------|
   | MENU |   CONTENT   |
   |             |                       |
   |             |                       |
   |             |                       |
   |-----------|-------------------|
   |          FOOTER            |
   |-------------------------------|

public class MyTemplate{
 public MyTemplate() {
        super();

        this.add(CSSPackageResource.getHeaderContribution(...);

        this.add(AbstractTemplatePage.FEEDBACK);

        this.addOrReplace(new Header());

        this.add(new Menu());

        this.add(new Footer());
    .....


public class MyContetPage extends MyTemplate {
public MyContetPage(final PageParameters _parameters) {
add(new AjaxFallbackLink<Void>("rem") {

    @Override
    public void onClick(final AjaxRequestTarget target) {
        …...
     }
   });
….
}
}

How change value in the header when i click on the ajaxlink of my content page?

In the onClick i try this; but don't work

//some function to change the model value...
this.getPage().get("header:component").modelChanged();
target.addComponent(this.getPage().get("header:component"));

And in my Header.java I override onModelChanged:
    protected void onModelChanged() {
        super.onModelChanged();
        this.addOrReplace(component).setOutputMarkupId(true));
    }

Thanks all.

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