Thanks, Don but this don't work the value don't change. And I call
setOutputMarkupId when i build it. and call it again later...

Thanks All.

2010/2/8 Don Ferguson <[email protected]>:
> 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 <[email protected]>:
>>>
>>> What do the tasty HTML bits look like? (wicket:ids and what not)
>>>
>>> On Fri, Feb 5, 2010 at 12:50 PM, Rangel Preis <[email protected]>
>>> 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: [email protected]
>>>> For additional commands, e-mail: [email protected]
>>>>
>>>>
>>>
>>> ---------------------------------------------------------------------
>>> 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]
>>
>
>
> ---------------------------------------------------------------------
> 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