Мне нужно добавить диапазон для поля ввода даты в JQuery - PullRequest
1 голос
/ 21 мая 2010

У меня есть поле ввода в форме, которая требует значения даты. Я использую указатель даты jQuery UI для календаря, и я установил диапазон для него. Однако пользователь может изменить это, введя другую дату в поле ввода. Как я могу указать диапазон дат для поля с проверкой jQuery? Все, что я вижу с помощью jQuery, - это то, что вы можете только указать, что это поле типа даты Могу ли я создать минимальные и максимальные значения, которые работают с датами?

Ответы [ 2 ]

2 голосов
/ 21 мая 2010

ОБНОВЛЕНО

в ответ на комментарий ...

Я могу представить себе много способов выполнения этой задачи, например, наблюдать за событием нажатия клавиши, ИЛИ , проверяя так startDate < myDate && myDate < endDate ИЛИ , выполняя регулярные выражения и т.д ..!

но очень простой и эффективный способ заключается в простом использовании свойства <input/> readonly , то есть при наличии двойного ввода, например:

<input type="text" name="dateRange" readonly="readonly" maxlength="10" />

Вы уверены, что никто не может поставить дату, кроме случаев, когда они используют DatePicker !

вот и все! ; -)


похоже, что именно делают minDate и maxDate

демо: http://jqueryui.com/demos/datepicker/min-max.html

$("#datepicker").datepicker({minDate: -20, maxDate: '+1M +10D'});

minDate: Установить минимальную выбираемую дату через объект Date или в виде строки в текущая датаформат или число дней с сегодняшнего дня (например, +7) или строка значений и периодов ('y' для лет, 'm' на месяцы, 'w' на недели, 'd' на дни, например '-1y -1m'), или ноль для нет ограничение.


maxDate: Установить максимально выбираемую дату с помощью объекта Date или в виде строки в текущем формате даты, или число дней с сегодняшнего дня (например, +7) или строка значений и периодов ('y' для лет, «м» за месяцы, «w» за недели, 'd' в течение нескольких дней, например '+ 1m + 1w') или ноль без ограничений.

0 голосов
/ 21 мая 2010

Вам просто нужно добавить параметр в Datepicker, чтобы он не мог редактировать текстовое поле:

$( ".selector" ).datepicker({ constrainInput: true });

Документация по jQuery UI

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...