DatePicker
Components / Samples
Description
DatePicker
is a form component, its value can be validated and submitted through a form.
Sources
package com.googlecode.wicket.jquery.ui.samples.jqueryui.datepicker; import java.util.Date; import org.apache.wicket.Component; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.model.Model; import com.googlecode.wicket.jquery.ui.form.button.AjaxButton; import com.googlecode.wicket.jquery.ui.form.button.Button; import com.googlecode.wicket.jquery.ui.form.datepicker.DatePicker; import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; public class DefaultDatePickerPage extends AbstractDatePickerPage { private static final long serialVersionUID = 1L; public DefaultDatePickerPage() { final Form<Date> form = new Form<Date>("form", new Model<Date>()); this.add(form); // FeedbackPanel // form.add(new JQueryFeedbackPanel("feedback")); // Date Picker // form.add(new DatePicker("datepicker", form.getModel()).setRequired(true)); // Buttons // form.add(new Button("submit") { private static final long serialVersionUID = 1L; @Override public void onSubmit() { DefaultDatePickerPage.this.info(this, form); } }); form.add(new AjaxButton("button") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target) { DefaultDatePickerPage.this.info(this, form); target.add(form); } @Override protected void onError(AjaxRequestTarget target) { target.add(form); //refresh feedback panel } }); } private void info(Component component, Form<?> form) { this.info(component.getMarkupId() + " has been clicked"); this.info("The model object is: " + form.getModelObject()); } }
<!DOCTYPE html> <html xmlns:wicket="http://wicket.apache.org"> <head> <wicket:head> <title>Wicket jQuery UI: date-picker</title> </wicket:head> </head> <body> <wicket:extend> <div id="demo-panel"> <form wicket:id="form"> <input wicket:id="datepicker" type="text" /><br/> <br/> <input wicket:id="submit" type="submit" value="Submit" /> <button wicket:id="button">Ajax Button</button> <br/><br/> <div wicket:id="feedback" style="width: 360px;"></div> </form> </div> </wicket:extend> </body> </html>