【问题标题】:set current date as default in an input of type date在日期类型的输入中将当前日期设置为默认值
【发布时间】:2018-08-27 13:18:16
【问题描述】:

我有一个date 类型的输入,我使用materialize 来选择一个日期。我想在初始化时将当前日期作为默认日期。

HTML

<input formControlName="invoice_date" id="invoice_date" type="date" class="datepicker" materialize="pickadate" [materializeParams]="[{ format: 'yyyy-mm-dd', formatSubmit: 'yyyy-mm-dd',
          closeOnSelect: true, selectMonths: true, selectYears: true, today: '',
          max: true, onSet: onSetDatepicker }]">

JavaScript

  onSetDatepicker(date) {
    if (date.select) {
      $('#invoice_date').pickadate().pickadate('picker').close();
    }
  }

【问题讨论】:

  • datepicker 函数应该通过 datepicker 库将今天作为默认值。但是,您可以将输入字段的值设置为

标签: html typescript materialize


【解决方案1】:

datepicker 库通常将当前日期作为其默认起点,所以我不确定您为什么会有不同的日期。但是,您可以将输入字段的value 设置为包含今天的日期。

例子:

<input formControlName="invoice_date" id="invoice_date" type="date" class="datepicker" 
materialize="pickadate" [materializeParams]="[{ 
format: 'yyyy-mm-dd', formatSubmit: 'yyyy-mm-dd',
          closeOnSelect: true, selectMonths: true, selectYears: true, today: '',
          max: true, onSet: onSetDatepicker }]" 
value="<?php echo date('y-m-d'); ?>">

【讨论】:

  • thnx 回答...是的,默认起点是当天,但我怎样才能将它作为默认输入,试过这个,不起作用...
  • 那我就不明白你的意思了,这应该把输入中今天的值显示为实际值。在您的情况下,这“做什么”?什么都没有?
  • 什么都没有..它的空白...事件当我尝试将随机日期作为默认值时它不显示...我不明白
  • 看起来你可能有一些东西会覆盖它的价值。您是否有任何其他 JavaScript 会干扰您尝试执行的操作?
【解决方案2】:

也许这可以帮助您解决将日期的默认值设置为当前日期的问题。

<input type="text" class="datepicker">
<script>
document.addEventListener('DOMContentLoaded', function () {
        let today = new Date().toLocaleDateString();
        var options = {
            defaultDate: new Date(today),
            setDefaultDate: true
        };
        var elems = document.querySelector('.datepicker');
        var instance = M.Datepicker.init(elems, options);
        instance.setDate(new Date(today));
});
</script>

How do I get the current date in JavaScript?

【讨论】:

    【解决方案3】:

    var date = new Date();
    
    var day = ("0" + date.getDate()).slice(-2);
    var month = ("0" + (date.getMonth() + 1)).slice(-2);
    
    var today = date.getFullYear() + "-" + (month) + "-" + (day);
    
    $('#dateid').val(today);
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    
    <input type="date" id="dateid">

    【讨论】:

      猜你喜欢
      • 2020-03-25
      • 2021-01-07
      • 1970-01-01
      • 2014-05-06
      • 2022-12-05
      • 2019-09-12
      • 2014-02-16
      • 2021-09-17
      • 2014-03-27
      相关资源
      最近更新 更多