首页 > 解决方案 > 当文本输入发生变化时,有没有办法检索更新的日期时间?

问题描述

我有一个日期时间选择器和一个按钮。用户选择日期时间,然后点击按钮。选定的日期时间显示在警报中。

https://jsfiddle.net/jeffxiao/rfzm8pyt/

$(function() {
  $('#datetimepicker1').datetimepicker();

  $('#buttonGo').click(function() {
      var moment = $("#datetimepicker1").datetimepicker("date");
      alert(moment.format('MMMM Do YYYY, h:mm:ss a'));
  })
});

问题是,如果用户更改输入的文本,而不是从 datetimepicker 中选择,有没有办法检索更新的日期时间(在文本中)?

我的测试显示默认是检索选择器中的选定内容,而不是文本框中的更新文本。

标签: bootstrap-4tempus-dominus-datetimepicker

解决方案


我有一个类似的问题,我发现使用viewDate而不是date解决了这个问题。所以您的示例代码将更新为

$(function() {
  $('#datetimepicker1').datetimepicker();

  $('#buttonGo').click(function() {
      var moment = $("#datetimepicker1").datetimepicker("viewDate");
      alert(moment.format('MMMM Do YYYY, h:mm:ss a'));
  })
});

编辑:在进一步调查中,我发现上述内容似乎只有在您没有useCurrent: false设置的情况下才有效。如果useCurrent: false设置,则 viewDate 似乎返回 datetimepicker 初始化的时间。


推荐阅读