2011-11-16 40 views
0

我正在尝试wiQuery以了解它是否适​​合我的需求,但我遇到了非常基本的问题。考虑下面的,在这里我尝试当一个对话框打开和关闭,使用其open()close()方法来控制:如何打开和关闭wiQuery对话框?

HTML:

<input type="submit" wicket:id="open" value="Open dialog"/>  
<div wicket:id="dialog">  
    <input type="submit" wicket:id="close" value="Close"/>  
</div> 

的Java:

final Dialog dialog = new Dialog("dialog"); 

add(new Link("open") { 
    @Override 
    public void onClick() { 
     dialog.open(); 
    } 
}); 

dialog.add(new Link("close") { 
    @Override 
    public void onClick() { 
     dialog.close(); 
    } 
}); 

add(dialog); 

事情是,上述不起作用。

我已经得到了对话框只有这样,才能从我的代码实际打开&接近是通过调用setAutoOpen()与真或假,但似乎奇怪的是,这是唯一的办法。 (这种方法的Javadoc说:“如果设置这个窗口打开的页面加载后autmatically。”所以它显然应该保留用于不同的目的。)

什么是开放的正确方法和动态关闭wiQuery对话框你的代码?

回答

1

我一直在使用最近2周,我也有类似的问题。尝试使用这种方式的AjaxLink:

AjaxLink openingLink = new AjaxLink("open") 
{ 

    @Override 
    public void onClick(AjaxRequestTarget target) 
    { 
    // Do something with model 
    target.addComponent(content); 
    dialog.open(target); 
    } 

}; 
+0

This Works,thanks。嗯,实际上很明显你需要一个AjaxLink来实现这样的功能。 :)哦,欢迎来到Stack Overflow! – Jonik

+0

谢谢,我一直是一个长期的读者/观察者,但有点害羞评论:) 我觉得自己像一个永恒的学徒 – Beto

相关问题