如何将JQuery选择器应用于Wicket ModalWindow

时间:2011-06-02 21:27:56

标签: java jquery wicket

我正在使用其中一个spiffy新的show-your-password-single-char JQuery hacks,我可以将其应用于我的所有密码字段

<script type="text/javascript">
  $(document).ready( function() {
    $('input:password').dPassword();
  });
</script>

但我的更改密码对话框是在Wicket ModalWindow中呈现的,

final ModalWindow window = new ModalWindow("change-password-panel");
final PasswordChangePanel panel = new PasswordChangePanel(window, myPasswordValidator);
window.setContent(panel);
add(window);
add(new AjaxFallbackLink<String>("change-password") {
    @Override public void onClick(AjaxRequestTarget target) {
        window.show(target);
    }});

所以它不存在于document.ready。

如何在我的ModalWindow显示时安排重新运行JQuery选择器?

1 个答案:

答案 0 :(得分:5)

尝试发送回一些JS,以便在完成AJAX调用后运行:

add(new AjaxFallbackLink<String>("change-password") {
    @Override 
    public void onClick(AjaxRequestTarget target) {
        target.appendJavascript("$('input:password').dPassword();")
        window.show(target);
    }
});

最好将选择器的范围限制在你的模态窗口,但我需要看到代码能够做到这一点。 ;)