0

django-dynamic-formset で autocomplete-light を使用しています。動的に追加された行のオートコンプリートは機能しません。オートコンプリートでポップアップが表示されますが、最後に静的に作成された行に固定されます。リスト内のアイテムを選択すると、現在の行ではなく、最後に静的に作成された行に値が挿入されます。静的に作成されたフォームセットの場合、 autocomplete-light はうまく機能します。

それは私のフォームとフォームセットです:

class MassSvidForm(forms.Form):
    num = CharField(label=u'Номер', required=True)
    kod_num = CharField(
                widget=autocomplete_light.TextWidget('KodZvtKod'))
    zvt_type = CharField(ZVTType.objects.all(),
            widget=autocomplete_light.TextWidget('ZVTTypeAutocomplete'))

    zvt_name = CharField(ZVTName.objects.all(),
            widget=autocomplete_light.TextWidget('ZVTNameAutocomplete'))

SvidFormset = formset_factory(
                            extra=0,
                            form=MassSvidForm,
                            can_delete=True,
                            )

svid_formset = SvidFormset(request.POST or None,
                           initial=[{
                                'template': tmpl.id,
                                'kod_num': tmpl.reservednumber.kod_zvt.kod,
                                },],
                           )

それは私のjsフォームセットの作成です:

<script type="text/javascript">
    $(function() {
        $('#massForm tbody tr').formset({
            prefix: '{{ formset.prefix }}',
            added: (function(row) {
                $(row.find('.autocomplete-light-text-widget')).each(function() {
                    $(this).trigger('initialize');
                })
            })
        });
    })
</script>

Django 1.5、django-dynamic-formset 1.2、autocomplete-light 1.1.23 を使用しています

4

1 に答える 1