获取一个检票文本框的值在AJAX onchange事件 [英] Getting a Wicket text box's value in an AJAX onchange event
问题描述
当用户输入一个检票文本字段一个数字,我需要捕获输入的一个AJAX 的onchange
事件中的价值。我怎样才能做到这一点?
When a user enters a number in a Wicket text field, I need to capture the value entered on an AJAX onchange
event. How can I do this?
推荐答案
使用的<一个href="http://wicket.apache.org/apidocs/1.4/org/apache/wicket/ajax/form/OnChangeAjaxBehavior.html"><$c$c>OnChangeAjaxBehavior$c$c>,和你的组件模型将自动更新。您可以通过使用查询值 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
是pretty的侵略性,因为它会注册一个按键侦听器,所以在大多数情况下,新AjaxFormComponentUpdatingBehavior(的onchange){ ...}
将工作一样好,如果你只是想在的onchange
事件。
Actually, OnChangeAjaxBehavior
is pretty aggressive because it registers a key listener, so in most cases new AjaxFormComponentUpdatingBehavior("onchange"){...}
will work just as well, if you just want the onchange
event.
这篇关于获取一个检票文本框的值在AJAX onchange事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!