Как я могу установить minDate / maxDate для jQueryUI Datepicker, используя строку? - PullRequest
3 голосов
/ 05 мая 2010

jQueryUI Datepicker документация гласит, что параметр minDate можно установить с помощью «строки в текущем формате даты». Итак, я попробовал следующее, чтобы инициализировать указатели даты:

$("input.date").datepicker({ minDate: "01/01/2010", maxDate: "12/31/2010" });

Однако это приводит к тому, что в моем средстве выбора даты можно выбрать диапазон дат с 11 июня 2015 года по 17 ноября 2015 года.

Я проверил текущий формат даты и его mm/dd/yy, который должен означать 2 цифры для месяца, 2 для дня и 4 для года, разделенные косой чертой. Я также попытался включить dateFormat: "mm/dd/yy" в оператор инициализации.

После этого я также проверил значения для minDate и maxDate, и они установлены на нужные мне значения: 01/01/2010 и 12/31/2010.

Я хочу иметь возможность устанавливать min / maxDate со строками, потому что я передаю эти значения как строки откуда-то еще. Может быть, кто-то знает, почему это происходит и как решить эту проблему, или обходной путь для достижения этого, возможно, изменяет формат строк даты или что-то в этом роде?

Спасибо

EDIT: Использование: jQuery v1.3.2 и jQuery UI v1.7.2

Ответы [ 3 ]

4 голосов
/ 01 июня 2010

В конце концов мне пришлось использовать что-то вроде этого, так как сборщик дат v1.7 не имеет проб с датами:

$.getJSON("/GetMinMaxDates/", function(dates) {
    var DateLimits = {min:null, max:null};

    DateLimits.min = new Date(Date.parse(dates.min));
    DateLimits.max = new Date(Date.parse(dates.max));

    $("input.date").datepicker({ dateFormat: "mm/dd/yy", minDate: DateLimits.min, maxDate: DateLimits.max });
});
1 голос
/ 11 мая 2010

Похоже, что это «ошибка» в 1.3.2 с 1.7.2. В 1.4.2 с 1.8.1 все нормально.

0 голосов
/ 23 июня 2010

Я считаю, что ваш последний метод лучше всего подходит для IE7 / 8. IE возвращает NaN в строковых функциях Date; как только я разобрался с цифрами, проблема исчезла.

...