【问题标题】:Is it possible to set the time to a default value after picking a date with a "datetime-local" input?选择带有“datetime-local”输入的日期后,是否可以将时间设置为默认值?
【发布时间】:2020-06-30 04:15:35
【问题描述】:

我有一个本地日期时间输入(和 jQuery),我正在尝试弄清楚如何从本质上自动填充输入的时间。该值不是必需的,因此我不能只设置默认日期时间,但如果用户选择日期,我需要将时间默认为预定时间(比如晚上 10:00)。 (其他时间有效但极为罕见)

我试图提取不完整的值,但由于 W3C 对值 (per this SO thread and testing) 的卫生处理,这似乎是不可能的

这甚至可能吗,还是我需要放弃本地日期时间?

【问题讨论】:

  • 然后你需要使用custom date picker,几乎每个人都会这样做,因为原生日期选择器要么无法与 UI 匹配,要么根本不受支持。您可以在按键被按下时捕获它们,但我认为这种方式很疯狂......

标签: javascript jquery html datetime


【解决方案1】:

您可以将其设置为值

var selectElement = $('#date-time');
var date = '2020-03-19'; // default date

selectElement.on('change', (event) => {
    date = selectElement.val().split('T')[0];
    selectElement.attr('value', date+'T22:00"');
});

【讨论】:

  • 这不能回答 OP 的问题。如果只是部分键入日期,他们希望完成日期,在这种情况下,selectElement.val() 将返回一个空字符串。此外,在输入整个值之前不会调度 change 事件。
猜你喜欢
  • 2014-10-09
  • 2021-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-14
相关资源
最近更新 更多