2015-12-17 2 views
1

Я использую виджет https://github.com/Eonasdan/bootstrap-datetimepicker, чтобы показать календарь. Но я не понимаю, как установить начальное значение с сервера через js.Начальная установка времени выбора начальной загрузки

Я получаю значение от сервера в формате:

Fri, 01 Jan 2016 00:00:00 GMT 

Но все мои попытки установить дату по умолчанию не удалось:

$el.datetimepicker({ 
    format: 'YYYY-MM-DD HH:mm:ss', 
    defaultDate: moment(this.value, "YYYY-MM-DD HH:mm:ss") 
}) 

или

$el.datetimepicker({ 
    format: 'YYYY-MM-DD HH:mm:ss', 
    defaultDate: new Date(this.value) 
}) 

Deprecation warning: moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.

или

$el.datetimepicker({ 
    format: 'YYYY-MM-DD HH:mm:ss', 
    defaultDate: moment(new Date(this.value), "YYYY-MM-DD HH:mm:ss") 
}) 

TypeError: defaultDate() Could not parse date parameter: 1029452400000

+0

вы можете попытаться представить его следующим образом: defaultDate: "15/8/2013" –

ответ

2

Так как есть TypeError третьего блока, вы можете попытаться покрыть this.value в формате «yyyy-mm-dd hh: mm: ss» самостоятельно.

Этот вопрос может помочь вам справиться с ней:

Format JavaScript Date to yyyy-mm-dd

наилучшие пожелания.

1

Не знаете, что на стороне сервера язык, который вы используете, так предполагая, что это PHP

Прежде всего, формат даты на стороне сервера отличается, то тогда DateTimePicker формат, вам необходимо изменить дату на стороне сервера format to bootstrap формат datetimepicker format: 'YYYY-MM-DD HH:mm:ss';

IF PHP и дата в Fri, 01 Jan 2016 00:00:00 GMT формате,

Изменить это

<?php 
$sdate = "Fri, 01 Jan 2016 00:00:00 GMT"; 
$newdate = gmdate("Y-m-d H:m:s", strtotime($sdate)); 
echo $newdate; 
//output will be 2016-01-01 00:01:00 
?> 

Сейчас в JS, создать переменную и загрузить newdate и установить defaultDate

var serdate = '2016-01-01 00:01:00'; 
$('#datetimepicker1').datetimepicker({ 
    format: 'YYYY-MM-DD HH:mm:ss', 
    defaultDate: serdate, 
    allowInputToggle: true 
}); 

Fiddle Example

Смежные вопросы