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