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

时间:2010-10-04 05:22:04

标签: java javascript jquery wicket

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

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

2 个答案:

答案 0 :(得分:10)

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

首先,您需要确保库存在。您通常使用JavascriptPackageResource

执行此操作
add(JavascriptPackageResource.getHeaderContribution("/path/to/jquery.js"));

(将其置于构造函数或动态初始值设定项或onBeforeRender()中)

然后,你需要确保

  1. 您的组件有一个ID(使用Component.setOutputMarkupId(true))和
  2. 您正在使用正确的ID JQuery函数(总是通过Component.getMarkupId()
  3. 检索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));
    

答案 1 :(得分:8)

protected void onClick(AjaxRequestTarget target){
   target.appendJavascript("alert('hello');");
)