我正在尝试从表单字段值初始化 Bootstrap 日期时间选择器。
http://eonasdan.github.io/bootstrap-datetimepicker/
即使 moment 对象正确,日期选择器在初始化时始终显示“2016 年 1 月 20 日”。
我看不出我做错了什么。我也试过只使用字符串。
HTML
<label for="timer-date">End date</label>
<input type="text" id="timer-date" class="form-control" value="2016-12-15">
<label for="timer-time">End time</label>
<input type="text" id="timer-time" class="form-control" value="20:54:00">
JS
$(function() {
var date = $('#timer-date').val() + ' ' + $('#timer-time').val();
console.log (date);
// 2016-12-15 20:54:00
var date_obj = moment(date);
console.log (date_obj);
// _d Date {Thu Dec 15 2016 20:54:00 GMT+0000 (GMT Daylight Time)}
$('#timer-date').datetimepicker({
format: 'LL',
defaultDate: date_obj
});
$('#timer-time').datetimepicker({
format: 'LT',
defaultDate: date_obj
});
});
最佳答案
编辑:(“引导日期时间选择器”确实支持 momentjs 日期)。
问题是值属性,您需要在读取它们后清除它们,或者将数据放入数据属性中。
var date = $('#timer-date').val() + ' ' + $('#timer-time').val();
console.log (date); // 2016-12-15 20:54:00
$('#timer-date').val("");
$('#timer-time').val("");
var date_obj = moment(date);
console.log (date_obj);
// _d Date {Thu Dec 15 2016 20:54:00 GMT+0000 (GMT Daylight Time)}
$('#timer-date-wrapper').datetimepicker({
format: 'LL',
defaultDate: date_obj
});
$('#timer-time-wrapper').datetimepicker({
format: 'LT',
defaultDate: date_obj
});
关于javascript - Bootstrap Datetimepicker 始终将日期设置为 2016 年 1 月 20 日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39357989/