Я использую jquery-ui datepicker для поля DOB пользователя в приложении Rails 3.2.
Я пытаюсь добиться следующего:
- ограничить диапазондаты, которые могут быть выбраны, max = сегодня, min = 100 лет назад.
- инициализирует указатель даты с датой, которая в настоящее время хранится в базе данных (если есть).
- отображает выбранную дату в видеопределенный формат в текстовом поле dob.
Моя форма выглядит следующим образом:
<%= form_for @user do |f| %>
<%= f.text_field :dob, :class=>'date-selector-dob', :value => (@user.dob.blank? ? '' : @user.dob.to_s(:long)) %>
<% end %>
, где .to_s(:long)
- это формат отображения, который мне нужен.
При использовании следующего javascript средство выбора даты работает, текстовое поле правильно отформатировано, но максимальная / минимальная дата не установлена, и инициализация с сохраненной датой не происходит.
$(function (){ // enabledate picker
$('.date-selector-dob').datepicker();
});
Я добавил к этим функциям, что я хотя бы установил минимальный / максимальный диапазон и инициализировал бы следующим образом:
$(function (){ // enable date picker
$('.date-selector-dob').datepicker({minDate: new Date('-100Y'), maxDate: new Date('-1D')}); // enable datepicker and set range
$('.date-selector-dob').datepicker('setDate', new Date($('.date-selector-dob').attr('value'))); // initialize datepicker with stored value
});
Этот является , инициализирующим выбор датыправильно, но не устанавливает минимальный / максимальный диапазон.Мой подход неверен?
Кроме того, расширенная функция сбрасывает мою строку форматирования, и данные не отображаются в соответствии с .to_s(:long)
.Используя основную функцию выше, эта строка форматирования применяется правильно.Что могло бы вызвать это?
Я вытаскиваю свои волосы этим!Я был бы очень признателен, если бы кто-нибудь помог мне понять, что я пропустил, и понять, что я делаю неправильно.Спасибо!