Javascript 在引导datetimepicker中设置默认值会导致弹出NaN
我正在做一个使用Ruby+引导框架的项目,包括引导datetimepicker插件 我的表格中有一个字段,如下所示:Javascript 在引导datetimepicker中设置默认值会导致弹出NaN,javascript,bootstrap-datetimepicker,Javascript,Bootstrap Datetimepicker,我正在做一个使用Ruby+引导框架的项目,包括引导datetimepicker插件 我的表格中有一个字段,如下所示: <div class='datetimepicker-input input-group' id='logged_at'> <input class='form-control' data-format='DD/MM/YYYY hh:mm A' name='logged_at' type='text' value='27/06/2014 05:08 PM
<div class='datetimepicker-input input-group' id='logged_at'>
<input class='form-control' data-format='DD/MM/YYYY hh:mm A' name='logged_at' type='text' value='27/06/2014 05:08 PM'>
<span class='input-group-addon'>
<i class='fa fa-calendar'></i>
</span>
</input>
</div>
如您所见,我希望我的datetimepicker使用DD/MM/YYYY hh:MM A
格式,但是,当我在生成表单时在
标记的值中输入默认日期和时间,然后单击日历图标弹出picker,“选取器”窗口只在标题中提供了NaN
,不允许我选择日期或时间
但是,如果在生成表单时将值
属性留空,则弹出窗口工作正常
我还注意到,如果我在字段中键入默认日期,并交换月份和日期,即MM/DD/yyyyy hh:MM A
,弹出窗口工作正常,即日历默认为正确的日期,但是当我选择日期时,它在输入字段中显示为DD/MM/YYYY hh:MM A
我想知道是否有其他方法可以设置字段中的默认日期/时间?简单地填充值
属性似乎会混淆插件,因为它似乎希望初始日期为mm/dd/yyyy…,但随后很高兴将其显示为dd/mm/yyyy。。。之后。好的,我想我已经想出了这个办法。它似乎与moment.js
有关,而bootstrap datetimepicker
依赖于它进行日期解析
在不干扰语言选项的情况下,bootstrap datetimepicker.js中有一行(第222行)必须更改为:
if (dateStr) picker.date = moment(dateStr);
到
基本上,我们必须使用picker.format
作为第二个参数,强制提及使用输入字段中提供的格式解析输入的日期
if (dateStr) picker.date = moment(dateStr, picker.format);