如何在物化日期选择器中设置日期

我正在使用materializecss.com Datepicker。 当我尝试使用jquery设置日期时,日期不会被设置。 这是我的代码: –

// Materialize Date Picker window.picker = $('.datepicker').pickadate({ selectMonths: true, // Creates a dropdown to control month selectYears: 100, // Creates a dropdown of 15 years to control year format: 'dd/mm/yyyy' });  

在Button的Click事件中,我正在设置日期: –

 $("#Date").val('23/01/2015'); 

当我打开日期选择器时,它会显示今天的日期。

如何在物化日期选择器中设置日期?

Materialize datepicker是一个修改过的pickadate.js选择器。

根据他们的API文档 ,这是如何设置选择器:

  1. 获取选择器:
 var $input = $('.datepicker').pickadate() // Use the picker object directly. var picker = $input.pickadate('picker') 

只需在元素的属性中添加您希望日期的格式。

 $('.datepicker').pickadate({ selectMonths: true, // Creates a dropdown to control month selectYears: 15, // Creates a dropdown of 15 years to control year format: 'dd-mm-yyyy' }); 

您可以使用V1.0.0-rc.2中存在V1.0.0-rc.2

  

defaultDate将设置一个默认日期,该日期将显示在datepicker的输入字段中,甚至不打开选择器。

在此处输入图像描述

当您打开它时, instance.setDate()将在datepicker中选择日期。

在此处输入图像描述

注意 – new Date(year, monthIndex [, day [, hours [, minutes [, seconds [, milliseconds]]]]]);

参数monthIndex是从0开始的。 这意味着January = 0December = 11

选择器 – 物化

MDN – 日期

 var $input = $('.datepicker').pickadate() // Use the picker object directly. var picker = $input.pickadate('picker') 
 $('#elementID').pickadate('picker').set('select', '21/05/2017', { format: 'dd/mm/yyyy' }).trigger("change"); 

这应该适合您的需求。 您可能需要或可能不需要触发更改,取决于您的情况,就像我需要它来进行validation才能触发。 还包括格式日期,以防有些人需要它。

使用pickadate()的Alle答案在较新版本的Materialize中不再起作用。 该方法现在命名为datepicker()。 这是我的代码片段:

 var element = document.querySelector('.datepicker'); M.Datepicker.getInstance(element).setDate(new Date(2018,8,7), true);