wiQueryを試して自分のニーズに合っているかどうかを確認していますが、非常に基本的なことで問題が発生しました。次のように考えてみましょう。ここでは、Dialog の開閉をそのメソッドopen()
とclose()
メソッドを使用して制御しようとしています。
HTML:
<input type="submit" wicket:id="open" value="Open dialog"/>
<div wicket:id="dialog">
<input type="submit" wicket:id="close" value="Close"/>
</div>
ジャワ:
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);
問題は、上記が機能しないことです。
コードから実際にダイアログを開いたり閉じたりする唯一の方法は、 true または false でsetAutoOpen()を呼び出すことですが、これが唯一の方法であることは奇妙に思えます。(そのメソッドの Javadoc には、「ページが読み込まれた後にこのウィンドウが自動的に開くかどうかを設定します。」と記載されているため、明らかに別の目的のために予約する必要があります。)
コードでwiQueryダイアログを動的に開閉する正しい方法は何ですか?