java - 如何在调用 wicket ajax 提交按钮后调用 jquery 函数

标签 java javascript jquery wicket

我有一个带有提交按钮的表单,但这是由 Wicket 的 AjaxButton 类实现的。当 HTML 页面呈现时,Wicket 会为该提交按钮动态保留一个 javascript onClick 方法。

我想在 Wicket 的 onClick 方法完成后使用 JQuery 执行一些操作。我该怎么做?

最佳答案

如果使用得当,使用 JQuery 或任何其他 JavaScript 库就像 wicket 中的魅力一样。

首先,您需要确保库存在。您通常使用 JavascriptPackageResource 来做到这一点.

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

(将其放入构造函数或动态初始化程序或 onBeforeRender() 中)

然后,你需要确保

  1. 你的组件有一个 id(使用 Component.setOutputMarkupId(true))和
  2. 您在 JQuery 函数(始终通过 Component.getMarkupId() 检索 ID)

这是一个在点击时变成蓝色的按钮的例子:

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));

关于java - 如何在调用 wicket ajax 提交按钮后调用 jquery 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3853037/

相关文章:

java - 野蝇(8.2.final): How to read a classpath resource?

Java从控制台读取整数行

javascript - 使用 OneSignal 并且我正在尝试将玩家 ID 保存到 javascript 变量,API 不清楚

javascript - 使用 Angular 通过 POST 操作提交表单

javascript - Electron 通知在 macOS 上不起作用(奖励 mdn 语音 api)

javascript - 为什么这个 jqueryeach() 函数不会调用?

javascript - 仅在 Safari 浏览器中未触发 Keyup 事件?

java - 对父类(super class)类型的对象进行强制转换在 Java 中返回子类类型的对象

javascript - 使用 jquery 获取 .html() 除了子元素的内容

java - 完成 HttpServletResponse 但继续处理