我正在尝试将Bootstrap 3 Date/Time Picker v4.17.42集成到网页中。我有一个文本字段,在调用datepicker之前预先填充了日期。
该字段如下;
<input value="19/02/1986" class="form-control datepicker" type="text" name="patient[date_of_birth]" id="patient_date_of_birth">
我像这样调用datepicker;
$('.datepicker').datetimepicker({
format: 'DD/MM/YYYY',
useCurrent: false,
maxDate: new Date(),
minDate: now.setFullYear(now.getFullYear() - 110)
});
当我在文本字段中单击时,会出现日期选择器,但它会显示当前月份而不是1986年2月。如果我单击该字段然后返回,则日期选择器消失,然后重新出现设置正确到1986年2月。
我必须做什么才能在第一次打开日期选择器时出现正确的月份?
答案 0 :(得分:0)
您可以在初始化后以编程方式强制刷新:
$('.datepicker').datetimepicker('setDate', new Date(1986, 02, 19));
$('.datepicker').datetimepicker('update');
您还可以在初始化时向对象添加属性:
setDate: new Date(1986, 02, 19)
答案 1 :(得分:0)
要使用默认数据,请尝试使用
$("#datepicker").datepicker("setDate", new Date());
在此脚本中,new Date()返回将分配给setDate属性的当前值。
答案 2 :(得分:0)
就像你说的,这是最新版本中的一个错误,在这里跟踪:github.com/Eonasdan/bootstrap-datetimepicker/issues/1831
但是,我发现在此期间可能会有所帮助(如果您不想使用版本4.17.37):
var selectedDate = moment($('#patient_date_of_birth').val(), 'DD/MM/YYYY');
$('#patient_date_of_birth').data('DateTimePicker').viewDate(selectedDate);
在日期选择器初始化后执行此操作。
这是需要为这个特定的datepicker硬刷新视图的语法。您可以通过data('DateTimePicker')
访问选择器,viewDate()
方法会更新选择器显示的日期。