在类型为 date 的输入中将当前日期设置为默认值



>我有一个类型为date的输入,我在其中使用 materialize 来选择一个日期。我想将当前日期作为 init 的默认值。

.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();
}
}

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">

日期选择器库通常将当前日期作为其默认起点,所以我不确定为什么你有不同的选择。但是,您可以做的是将输入字段的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'); ?>">

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

<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>

如何在 JavaScript 中获取当前日期?

最新更新