我有一个表单,其中包含一个提交按钮,但这是由Wicket的AjaxButton类实现的。当HTML页面呈现时,Wicket会为该提交按钮动态地保留一个javascript onClick方法。
我想在Wicket的onClick方法完成后使用JQuery执行一些操作。我该怎么做?
我有一个表单,其中包含一个提交按钮,但这是由Wicket的AjaxButton类实现的。当HTML页面呈现时,Wicket会为该提交按钮动态地保留一个javascript onClick方法。
我想在Wicket的onClick方法完成后使用JQuery执行一些操作。我该怎么做?
如果使用正确,使用JQuery或其他JavaScript库在Wicket中可以很好地工作。
首先,您需要确保该库存在。通常使用JavascriptPackageResource来实现。
add(JavascriptPackageResource.getHeaderContribution("/path/to/jquery.js"));
将以下代码放在构造函数、动态初始化器或者 onBeforeRender() 中:
接下来,确保:
Component.setOutputMarkupId(true)
),以及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));
protected void onClick(AjaxRequestTarget target){
target.appendJavascript("alert('hello');");
)