首页 > 解决方案 > 将 Duetds Datepicker 与 Wicket 一起使用?

问题描述

Duetds Datepicker ( https://github.com/duetds/date-picker ) 是一个我想使用的可访问的 Datepicker,但是用法如下:

<duet-date-picker identifier="date"></duet-date-picker>

这与需要输入HTML 标记的 Wicket 表单组件不兼容。

您是否知道将此 Datepicker 与 Wicket 或其他可与 Wicket 一起使用的可访问 Datepicker 的方法?(Jquery UI Datepicker 不好,因为在 Tab 上关闭)

标签: datepickerwicket

解决方案


您可以轻松地将这个 JS 小部件与 Wicket 一起使用!

在您的 Java 代码中执行以下操作:

WebComponent datePicker = new WebComponent("datePicker");
parent.add(datePicker);
datePicker.add(new AjaxEventBehavior("duetChange") {
   @Override public void onEvent(AjaxRequestTarget target) {
      long timestamp = getRequest().getParametersValue("selectedDate").toLong();
      // use timestamp here
   }

   @Override public void updateAjaxRequestAttributes(AjaxRequestAttributes attrs) {
      super.updateAjaxRequestAttributes(attrs);

      attrs.getDynamicExtraParameters().add("return {\"name\": \"selectedDate\", \"value\": attrs.e.detail.valueAsDate.getTime()}");
   }
});

HTML 将类似于:

 <duet-date-picker wicket:id="datePicker" identifier="date"></duet-date-picker>

推荐阅读