0

イベント編集ページが読み込まれると、jquery datepicker が使用される 2 つの日付フィールドがあり、これらのフィールドの 1 つをクリックするとピッカーも表示されます。

ドキュメントが読み込まれると、datepicker が初期化されます。

$ ->
  $(':input.date').datepicker(dateFormat: 'dd.mm.yy')

クラス「datepicker」が自動的に追加されます

<input class="span1 date hasDatepicker" id="event_application_opening_at" name="event[application_opening_at]" size="30" type="text">

イベントに他の日付を追加できるため、ユーザーが [日付の追加] リンクをクリックすると、追加のネストされた日付フィールドが作成されます。

「hasDatepicker」クラスはこれらのフィールドに正しく割り当てられていますが、datepicker はこれらの新しく作成されたフィールドでは機能しません。これは、datepicker が既に初期化されているために発生しているようです。destroy() 関数を適用してから、ページ コンテンツ全体で datepicker を再初期化しようとしましたが、うまくいきませんでした。

それを手伝ってくれる人はいますか?

4

2 に答える 2

0

hynxnat の答えに代わるものは、フィールドを追加するために使用しているコードの「after:insert」イベントにバインドすることです。そのイベントに日付ピッカー コードを追加すると、フィールドが動的に挿入された後、ページ上のフィールドに確実にバインドされます。

これは、Cocoon gem のようなものを使用して追加のフィールドを追加していることを前提としています。

于 2012-10-08T11:08:13.620 に答える
0

これを試して

 $(":input.date").live("click", function(){
        $(this).datepicker({ 
            dateFormat: 'dd.mm.yy' 
        });
    });

アップデート:

$(":input.date").live("click", function(){
            $(this).datepicker({ 
                dateFormat: 'dd.mm.yy' 
            });
          $(this).datepicker('show');

        });
于 2012-10-08T11:04:52.210 に答える