@Override public void renderHead(IHeaderResponse response) { super.renderHead(response); // initialize select2 response.render( OnDomReadyHeaderItem.forScript( JQuery.execute("$('#%s').select2(%s);", getJquerySafeMarkupId(), settings.toJson()))); // select current value renderInitializationScript(response); }
@Override public void onEvent(IEvent<?> event) { super.onEvent(event); if (event.getPayload() instanceof AjaxRequestTarget) { AjaxRequestTarget target = (AjaxRequestTarget) event.getPayload(); if (target.getComponents().contains(this)) { // if this component is being repainted by ajax, directly, we must destroy Select2 so it // removes // its elements from DOM target.prependJavaScript( JQuery.execute("$('#%s').select2('destroy');", getJquerySafeMarkupId())); } } }