Java AjaxLink切换另一个AjaxLink的可见性
我有两个AjaxLink(都在同一个容器下),我想切换它们的可见性,这样如果单击了Java AjaxLink切换另一个AjaxLink的可见性,java,ajax,wicket,Java,Ajax,Wicket,我有两个AjaxLink(都在同一个容器下),我想切换它们的可见性,这样如果单击了linkA,linkA,就会隐藏linkB,反之亦然 以下是我对linkA的实现: linkA= new AjaxLink<Void>( "linkA" ) { @Override public void onConfigure() { setVisible( showLinkA); linkB.se
linkA
,linkA
,就会隐藏linkB
,反之亦然
以下是我对linkA
的实现:
linkA= new AjaxLink<Void>( "linkA" )
{
@Override
public void onConfigure()
{
setVisible( showLinkA);
linkB.setVisible( showLinkB);
}
@Override
public void onClick( AjaxRequestTarget target )
{
if ( condition_met )
{
setResponsePage( NextPage.class, getParameters() );
}
else
{
showLinkB= true;
showLinkA= false;
target.add( linkA, linkB);
}
}
};
linkA=新的AjaxLink(“linkA”)
{
@凌驾
配置()中的公共无效
{
setVisible(showLinkA);
linkB.setVisible(showLinkB);
}
@凌驾
公共void onClick(AjaxRequestTarget目标)
{
如果(满足条件)
{
setResponsePage(NextPage.class,getParameters());
}
其他的
{
showLinkB=true;
showLinkA=false;
添加(链接A、链接B);
}
}
};
隐藏部分起作用,即当单击
linkB
时,linkB
被隐藏。但是,当单击linkA
时,linkA
被隐藏,并且linkB
不会恢复可见性。我遗漏了什么吗?因为您使用了Ajax,并且隐藏和显示了需要在组件上使用的组件setOutputMarkupPlaceholderTag(true)
。如果没有这一点,“show”将无法找到它们,您的JS日志中肯定有错误。非常感谢!添加setOutputMarkupPlaceholderTag(true)
对我有用!