2

日付入力のあるフォームがあります

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

そして、ページの下部で作成した datepicker jquery オブジェクトを使用しています

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

これを使用すると、すべてが機能し、日付ピッカーは正常に表示されますが、月日年として表示されますが、db とレールは日付月年を取ります。そのため、すべきでない場合 (2013 年 5 月 7 日) に動作し、明らかに日付が 12 を超えると、フィールドが空白であると言って拒否します。

私が試してみました

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

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

そして、それらのどれも機能していません。何かが足りないのでしょうか、それとも他の場所で何かを変更する必要がありますか?

4

1 に答える 1

1

ドキュメントの例は少し不完全です。このaltFormatオプションは、以下も指定した場合にのみ使用されますaltField

altFormatオプションに使用さ
れる。dateFormataltField

と:

altField datepicker から選択された日付で更新される入力要素。オプションを使用して、altFormatこのフィールド内の日付の形式を変更します。

対応する例は、各オプションが単独で使用されていることのみを示していますが、使用するaltField場合は指定する必要がありますaltFormat。通常のアプローチは、非表示の入力をサーバーに送信される実際の日付として使用しaltField、次のようなものを使用して、ユーザーに表示される日付セレクターを非表示の入力に接続することです。

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

デモ: http://jsfiddle.net/ambiguous/jWT5G/

于 2013-07-26T18:49:26.590 に答える