Как вызвать функцию jquery после вызова кнопки отправки ajax в wicket - PullRequest
8 голосов
/ 04 октября 2010

У меня есть форма с кнопкой отправки, но она реализована классом AjaxButton Wicket. Когда HTML-страница отображает, Wicket динамически поддерживает метод onClick для javascript для этой кнопки отправки.

Я хочу выполнить некоторые операции с использованием JQuery после завершения метода Wicket onClick. Как мне это сделать?

Ответы [ 2 ]

10 голосов
/ 05 октября 2010

Использование JQuery или любой другой библиотеки JavaScript работает как чудо в калитке, если вы все сделаете правильно.

Прежде всего вам необходимо убедиться, что библиотека присутствует.Вы обычно делаете это, используя JavascriptPackageResource .

add(JavascriptPackageResource.getHeaderContribution("/path/to/jquery.js"));

(Поместите это в конструктор или динамический инициализатор или в onBeforeRender () )

Затем вам нужно убедиться, что

  1. ваш компонент имеет идентификатор (используйте Component.setOutputMarkupId(true)) и
  2. вы используете правильный идентификатор в JQueryфункция (всегда получать идентификатор с помощью Component.getMarkupId())

Вот пример с кнопкой, которая становится синей при нажатии:

add(new AjaxButton("id"){

    private static final long serialVersionUID = 1L;

    @Override
    protected void onSubmit(AjaxRequestTarget target, Form<?> form){
        target.appendJavascript(
            "$('#" +getMarkupId() +"').css({'background':'blue'})");
    }
}.setOutputMarkupId(true));
8 голосов
/ 05 октября 2010
protected void onClick(AjaxRequestTarget target){
   target.appendJavascript("alert('hello');");
)
...