2013-07-26 2 views
2

У меня есть форма с даты вводаJquery altFormat DatePicker проблема в рельсах приложение

<div class="form-inputs"> 
<%= f.input :day, as: :string, input_html: {id: 'date'} %> 

и я использую объект DatePicker Jquery, что я делаю в нижней части страницы

<script>$(function(){$("#date").datepicker();});</script> 

Когда у меня это есть, все работает, и датапикер отображается так, как должен, но он отображается как дата месяца, тогда как db и rails принимает дату месяца. Поэтому некоторая работа, когда они не должны быть (05/07/2013), а затем, очевидно, когда дата превышает 12, она отвергает ее, заявляя, что поле пустое.

Я попытался

<script>$(function(){$("#date").datepicker({ dateFormat: "dd-mm-yy",altFormat: "ddmmyy"});</script> 

<script>$(function(){$("#date").datepicker({ altFormat: "dd-mm-yy" });</script> 

И никто из них не работал, я что-то отсутствует или мне нужно сделать, чтобы изменить что-то в другом месте?

ответ

1

Примеры в документах не являются неполными. Опция altFormat используется только, если вы также указать altField:

altFormat
dateFormat использоваться для опции altField.

и:

altField Входной элемент, который должен быть обновлен с выбранной датой от DatePicker. Используйте опцию altFormat, чтобы изменить формат даты в этом поле.

Соответствующие примеры показывают только каждый вариант используется в одиночку, но вам нужно указать altField, если вы хотите использовать altFormat. Обычный подход будет использовать скрытый вход в качестве фактической даты, которая отправляется на сервер, а затем подключить пользовательский видимый селектор дат скрытого ввода с помощью altField с чем-то вроде этого:

$('#date').datepicker({ 
    dateFormat: 'dd-mm-yy', 
    altField: '#some-hidden-field', 
    altFormat: 'yy-mm-dd', 
}); 

Demo: http://jsfiddle.net/ambiguous/jWT5G/

+0

Удивительный ответ, это сработало! Благодарю. –

Смежные вопросы