当用户在 Wicket 文本字段中输入数字时,我需要捕获在 AJAX onchange
事件中输入的值。我该怎么做?
最佳答案
使用 OnChangeAjaxBehavior
,您的组件模型将自动更新。您可以使用 component.getDefaultModelObject()
add(new TextField<String>(id, someModel)
.add(new OnChangeAjaxBehavior(){
private static final long serialVersionUID =
2462233190993745889L;
@Override
protected void onUpdate(final AjaxRequestTarget target){
// Maybe you want to update some components here?
// Access the updated model object:
final Object value = getComponent().getDefaultModelObject();
// or:
final String valueAsString =
((TextField<String>) getComponent()).getModelObject();
}
}));
实际上,OnChangeAjaxBehavior
非常激进,因为它注册了一个关键监听器,因此在大多数情况下,new AjaxFormComponentUpdatingBehavior("onchange"){...}
的工作方式与好吧,如果您只想要 onchange
事件。
关于java - 在 AJAX onchange 事件中获取 Wicket 文本框的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5564634/