.datepicker ('setdate') проблемы, в jQuery

У меня есть функция, которая выполняет запрос для получения некоторых данных на основе определенного диапазона дат, который выбран с помощью .datepicker (). Я пытаюсь установить datepicker's, которые находятся в данных ответа назад к диапазону дат, который был выбран, прежде чем запрос выполнялся.

queryDate = '2009-11-01';
$('#datePicker').datepicker('setDate', queryDate);

имеет интересный результат установки datepicker на сегодняшнюю дату! Я не был бы так смущен, если бы это просто выложило ошибку. Почему это устанавливает его на сегодняшнюю дату?

Как я могу взять дату, которая форматирована как, 'yyyy-mm-dd' и устанавливает datepicker на него?

Я думаю, что могло бы быть лучше просто установить текстовое поле, с которым связан datepicker к 'queryDate'.

36
задан Luke Girvin 14 December 2016 в 12:36
поделиться

3 ответа

Если вы хотите поддерживать действительно старые браузеры, вам следует проанализировать строку даты, поскольку использование формата даты ISO8601 с конструктором Date не поддерживается до IE9:

var queryDate = '2009-11-01',
    dateParts = queryDate.match(/(\d+)/g)
    realDate = new Date(dateParts[0], dateParts[1] - 1, dateParts[2]);  
                                    // months are 0-based!
// For >= IE9
var realDate = new Date('2009-11-01');  

$('#datePicker').datepicker({ dateFormat: 'yy-mm-dd' }); // format to show
$('#datePicker').datepicker('setDate', realDate);

Посмотрите приведенный выше пример здесь .

35
ответ дан 27 November 2019 в 05:12
поделиться

Как сообщение Скобала подразумевает, что datepicker ищет объект Date, а не просто строку! Итак, чтобы изменить ваш пример кода, чтобы он делал то, что вы хотите:

var queryDate = new Date('2009/11/01'); // Dashes won't work
$('#datePicker').datepicker('setDate', queryDate);
10
ответ дан 27 November 2019 в 05:12
поделиться

Попробуйте изменить его на:

queryDate = '2009-11-01';
$('#datePicker').datepicker({defaultDate: new Date (queryDate)});
7
ответ дан 27 November 2019 в 05:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: