3

我正在使用Flatpickr我的日期选择器。但是,当我选择今天的日期时,我希望结果显示为“今天”。

jQuery(".datepicker").flatpickr({
    wrap: true,
    altInput: true,
    altFormat: "F j, Y",
    dateFormat: "Y-m-d",
    defaultDate: "today",
    instance.set('defaultDate', 'today');
});

这是我到目前为止所尝试的。这部分instance.set不适合我。也许我做错了什么。

以下是当前工作代码的片段。我需要的只是当前显示的日期是“今天”而不是日期本身。

jQuery(function() {
	initDatePicker();
});


function initDatePicker() {
	jQuery(".datepicker").flatpickr({
		wrap: true,
		altInput: true,
		altFormat: "F j, Y",
		dateFormat: "Y-m-d",
		defaultDate: "today"
	});
}
<link href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
<script>
  
</script>

<div class="input-group datepicker">
  <input type="text" class="form-control" data-input aria-describedby="date1">
  <div class="input-group-append">
    <button class="btn btn-secondary" type="button" id="date1" title="toggle" data-toggle><i class="icon-angle-down-4 mr-0"></i></button>
  </div>
</div>

4

1 回答 1

4

@Lucian,我找到了处理onValueUpdateonReady(用于初始检查,因为defaultDate可能是今天,如您的情况)事件和更新私有字段值的解决方案_input.value

虽然,我没有找到任何方法在字段中设置“今天”字而不破坏封装 - 因为这个字不能解析为日期对象并引发错误。

我的代码在这里。希望这可以帮助!

于 2018-10-04T19:26:59.313 回答