1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

jQuery UI の datepicker、キー入力と併用

Last updated at Posted at 2019-03-14

jQuery UI の datepickerで、キー入力による入力可能にする

ステップ1、Hidden項目を追加する

<!-- 日付テキスト項目 -->
<input type="text" id="datepickerDisplay" />
<!-- Hidden項目 -->
<input type="hidden" id="datepickerDisplayHidden" />

ステップ2、onSelectを以下のように改修。

/**********************************************************************************
 * datePicker設定
 **********************************************************************************/
$('#datepickerDisplay').datepicker({
    // 日付選択イベント
    onSelect: function(date) {
        var momentDate = moment($('#datepickerDisplay').val());
        // 入力した日付が有効ではない場合
        if (!momentDate.isValid()) {
            return;
        }
        var datepickerVal = momentDate.format("YYYY/MM/DD");
        var datepickerValBK = $('#datepickerDisplayHidden').val();
        // Hidden項目で保持した日付と一致しない場合
        if (new Date(datepickerVal).getTime() != new Date(datepickerValBK).getTime()) {
            date = datepickerVal;
            $('#datepickerDisplay').val(datepickerVal);
        }
        // HIDDEN項目に日付を保持
        $('#datepickerDisplayHidden').val(date);
    }
});
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?