5

我正在使用这个加载 flatpickr:

<script type="text/javascript">
jQuery(document).ready(function($){
    $('#Mydatetime').flatpickr({
        altInput: true,
        altFormat: "M j, Y @ H:i",
        enableTime: true,
        dateFormat: 'Y-m-d\\TH:i'
    });
});

<input type="text" id="Mydatetime" class="MyDate" name="my_expire_date" value="' . $variable . '"/>

该变量只是我的日期时间。它有效,但我想添加一个类似于this的清除按钮。无论我做什么,按钮都不会清除日期。

这个例子:

<a class="input-button" title="clear" data-clear>
    <i class="icon-close"></i>
</a>

看起来很简单,但我显然错过了一些东西。有人让这些关闭按钮之一正常工作吗?

4

5 回答 5

9

使用以下方法:

const $flatpickr = $("#flatpickr_id").flatpickr();

$("#some_button_id").click(function() {
   $flatpickr.clear();
})
于 2019-10-13T13:01:47.257 回答
2

只需将此按钮添加到您的 HTML:

<button class="clear_button" title="clear" data-clear>
Clear
</button>

并将此代码添加到“文档准备”功能的内部

  $(".clear_button").click(function() {
    $('#Mydatetime').flatpickr().clear();
  })

这是一个工作示例:https ://codepen.io/anon/pen/pxKOGP

于 2018-10-21T00:50:53.943 回答
2
$(function() {
  $(".input_button").click(function() {
    $('#Mydatetime')[0]._flatpickr.clear();
  });
});
于 2020-10-07T02:56:00.153 回答
0

如果不使用 jQuery,你可以试试这个:

const my_fp = document.querySelector("#fp_field")._flatpickr;
my_fp.clear();
于 2021-06-28T16:26:59.910 回答
0

您可以使用 CoffeeScript/JS 来实现它。不幸的是,flatpickr 没有提供选项来清除选择后的字段。

环境:Rails & coffeescript

看法:

<div class="form-group flatpicker">
        <%= f.label :start_time_gt_eq, 'Starting at', class: 'form-control-label font-weight-bold' %>
        <div class="row d-flex justify-content-between ml-1">
          <%= f.text_field :start_time_gt_eq, class: 'form-control active position-relative col-md-11' ,
              data: {
                behavior: 'flatpickr_time',
                enable_time: true,
                alt_input: true,
              } %>
          <button type="button" id="appointment-start-from" class="close" data-dismiss="alert">×</button>
        </div>
      </div>

咖啡脚本文件

(->
  window.Appointments or (window.Appointments = {})

  Appointments.init = ->
    $ ->
      $('#appointment-start-from').click ->
        $('#q_start_time_gt_eq').flatpickr().clear();

      return
        
).call this

并确保在视图文件中初始化 JS

<% content_for :js_init do %>
  Appointments.init();
<% end %>
于 2021-08-16T08:06:26.503 回答