我准备了一个可重用的面板并将其添加到我的页面。
我页面的表单中有2个dropdownchoice。
我正在使用https://cwiki.apache.org/WICKET/dropdownchoice-examples.html#DropDownChoiceExamples-Note的ajax示例
两个DDC正常工作(更改一个值,然后隐藏/取消隐藏另一个值)。
但在我的面板上不起作用。
我正在使用:
private final MyPanel panel1 = new MyPanel ("MyPanel");
panel1.setOutputMarkupPlaceholderTag(true);
...在DDC1 ajax行为方法中:
onUpdate(AjaxRequestTarget target) { ...
DDC2.setVisible(true);
panel1.setVisible(true);
}
我必须提交表单以隐藏/取消隐藏
panel1
。在不提交表单的情况下,如何使其与
DDC2
相同? 最佳答案
你需要 :
panel1.setOutputMarkupId(true);
的
panel1.setOutputMarkupPlaceholderTag(true);
实际上,并非总是要使Ajax能够使用您拥有的文件,而是从客户端驱动刷新所需的文件。据我所知,这不会伤害任何事情...
在行为中,您需要告诉目标刷新它:
onUpdate(AjaxRequestTarget target) { ...
DDC2.setVisible(true);
panel1.setVisible(true);
target.addComponent(DDC2);
target.addComponent(panel1);
}