我有以下 java 和 html 代码:
this.leakageModel = new PropertyListView<Leakage> ( "leakage", new ArrayList<Leakage> ()) {
private static final long serialVersionUID = 1L;
@Override
protected void populateItem (final ListItem<Leakage> item) {
Link<String> brandLink = new Link<String> ("brandLink") {
private static final long serialVersionUID = -480222850475280108L;
@Override
public void onClick () {
//change another model in the page to update
//another table when the link is clicked
}
};
brandLink.add (new Label ("brand"));
item.add (brandLink);
} };
add (this.leakageModel);
.html 文件:
<tr wicket:id="leakage" class="testClass">
<td class="testClass">
<a wicket:id="brandLink" href="#">
<span wicket:id="brand"></span>
</a>
</td>
</tr>
我想要做的是能够从 onClick() 方法内部调用一个javascript函数。
我目前在 onClick 方法中执行的模型更新效果很好,并更新了页面上的另一个表。
但是,我尝试调用 javascript 函数或更改 css 样式的所有操作都失败了。
例如:
添加一个css类:
add (new AttributeAppender("class", new Model("anotherclass"), ""));
改用 AjaxLink 类型,以及我尝试过的许多其他事情都无济于事。
在相关说明中,我的初衷是隐藏表格中的所有行,除了我单击的行。也许我可以只从 Java 代码中做到这一点,根本不需要 Javascript,但是像上面那样更新 css 是行不通的。
关于我做错了什么的任何建议?