在AJAX onchange事件中获取Wicket文本框的值
当用户在Wicket文本字段中输入数字时,我需要捕获在AJAX onchange
事件中输入的值。 我怎样才能做到这一点?
使用OnChangeAjaxBehavior
,您的组件模型将自动更新。 您可以使用component.getDefaultModelObject()
查询该值
add(new TextField(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 ) getComponent()).getModelObject(); } }));
实际上, OnChangeAjaxBehavior
非常具有攻击性,因为它注册了一个键监听器,所以在大多数情况下,如果你只想要onchange
事件,那么new AjaxFormComponentUpdatingBehavior("onchange"){...}
也可以正常工作。