2011-07-16 7 views
2

今日は変なビットです。私のformsetに新しいインラインを追加すると、私のdatepickersは動作を停止します

私は非常に基本的なプロジェクトを行っています。フォームに加えて、私はインラインフォームを持っています。それは著者の本です。

フォームが読み込まれるとき(/ authors/create /)私は著者名があり、その下にはその著者に書籍を追加できるフォームがあります。

私はhttp://code.google.com/p/django-dynamic-formset/を使用しています。ダイナミックインライン(フォームに追加または削除できる)を使用できるようにするには、http://code.google.com/p/django-dynamic-formset/を使用しています。

私の問題は、新しいインラインを追加すると、インラインフォームのすべての日付ピッカー(日付発行フィールド用)が機能しなくなることです。

I have attached my sample project showing exactly what is wrong. You can download and run it here.

なぜ、どのように私はこの問題を解決することができますか?

+0

にあなたのJSコードを取ることは申し訳ありませんが、あなたの郵便番号をダウンロードするつもりはありません。しかし、あなたが日付ピックアップが機能しなくなったと言うときは、既存のものか、まったく追加されたばかりのものを意味しますか? –

+0

ロード時にレンダリングされる日付フィールドは正常であるようです。私は新しい行を追加すると、インラインformsetの日付ピッカーはすべて、最初に働いたものであってもウィンドウを出て行きます。異なるフォームまたはフォームセットに関連付けられている日付ピッカーは引き続き作業します。そのインラインフォームセットの一部であるdatepickersだけです。 – darren

+0

正直言ってDjango 1.3とSafari 5.1(7534.48.3)を使うとうまくいくようです。 –

答えて

5

私は確かにそれを行うクリーナーと巧妙な方法があります。しかし、概念実証作業:

function renewDatePickers() { 
    $('.datepicker').datepicker('destroy'); 
    $(".datepicker").datepicker({dateFormat: 'yy-mm-dd'}); 
} 

$(renewDatePickers); 

$(function() { 
    $('.form-row.inline.{{ book_form.prefix }}').formset({ 
     prefix: '{{ book_form.prefix }}', 
     added: renewDatePickers // Event -- read inline docs 
    }); 
}) 

をそしてbase.htmlからauthor_form.html

+0

ありがとうございます。インラインの各追加でdatepickersを再初期化することは非常に賢いです。私はまた削除イベントでそれをやったが、今は素晴らしい作品です。 – darren

関連する問題