JQuery UI Datepicker проблема формата даты с начальным значением - PullRequest
13 голосов
/ 11 марта 2010

Мне нужно установить начальную дату для средства выбора даты на 20.03.2010 в формате мм-дд-ггггг. Я сделал это

<input id='datepicker' type='text' value='20/03/2010' />

Но моя проблема заключается в щелчке по полю выбора даты, в котором сегодняшняя дата выделена цветом, а дата не выбрана, и при выборе значения даты

Но когда я меняю свое поле ввода, как показано ниже

<input id='datepicker' type='text' value='03/20/2010' />

Выбор даты заполняется 20 марта, когда выбрана выбранная дата и текущая дата. Но все в формате «мм-дд-гггг»!

Я хочу показать все даты в формате 'dd-mm-yyyy'. Как я могу решить это?

Я попробовал некоторые из вариантов и комбинаций ниже, но ни один из них не решил мою проблему

$("#datepicker").datepicker();
$("#datepicker").datepick({dateFormat: 'mm/dd/yyyy'});
$("#datepicker").formatDate('dd/mm/yy');
$('#datepicker').datepicker("setDate", new Date($("#datepicker").val()) );

Обновление: К сожалению, я не могу установить значение даты 20 марта напрямую через JavaScript, так как он динамически изменяется и хранится в переменной PHP. Мне нужно получить значение по умолчанию из самого поля ввода.

Ответы [ 5 ]

19 голосов
/ 11 марта 2010
$('#datepicker').datepicker('option', 'dateFormat', 'dd-mm-yy');

Год указывается как y для 2 цифр и yy для 4 цифр, как указано здесь .

9 голосов
/ 11 марта 2010

Вам нужна комбинация dateFormat и defaultDate вариантов:

$("#datepicker").datepicker(
{
    dateFormat: 'mm/dd/yyyy',
    defaultDate: '20/03/2010'
});

однако существует много разных способов указать дату по умолчанию. Я не уверен, что вам нужно, поэтому вы можете ссылаться на API здесь: http://docs.jquery.com/UI/Datepicker#option-defaultDate.

0 голосов
/ 21 декабря 2015

Также помните, что type="date" создаст проблему, поэтому установите type как text.

0 голосов
/ 14 июля 2015

mm - минуты, а не месяцы.
Вместо этого используйте dd/MM/yyyy.

0 голосов
/ 15 ноября 2011

Не точно !!!

$("#datepicker").datepicker(
{
    dateFormat: 'mm/dd/yyyy',
    defaultDate: '20/03/2010'
});

Вы должны поместить правильный формат в dateFormat: для вашего примера есть: dd/mm/yy две ошибки:

  • день / месяц инверсия
  • год - это только два 'у', а не четыре
...