有没有办法在文本输入更改时检索更新的日期时间?

Is there a way to retrieve the updated datetime when text input changes?

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

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 中选择,是否有办法检索更新的日期时间(在文本中)?

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

有帮助吗? 为您的输入设置一个 ID 以检索数据。

https://jsfiddle.net/djibe89/kx1rnbm9/

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

  $('#buttonGo').click(function() {
      var time = $("#input-datetimepicker").val();
      alert(time);
  })
});

我有一个类似的问题,我发现使用 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 显示为 return 日期时间选择器初始化的时间。