Автозаполнение jQuery со многими входами - django-dynamic-formset

Я использую функцию автозаполнения jQuery ( http://jqueryui.com/autocomplete) и динамический набор форм Django ( http://code.google.com/p/django-dynamic-formset/). В одном из моих полей набора форм необходимо использовать автозаполнение, поэтому я присоединяю его с помощью (упрощенно):

$('input[name$=select]').autocomplete({source:'my_url/', minLength: 3});

Я называю это готовым документом, и он отлично работает (получает данные из ajax). Тем не менее, если я добавлю новую строку с помощью django-dynamic-formset и обработаю ее добавленное событие:

function(row){
    $(row).find('input[name$=select]').autocomplete({source:'my_url/', minLength: 3});
}

это не работает с недавно добавленными строками. В чем дело?

ОБНОВЛЕНИЕ: Попытка использовать классы вместо - без результата. Попытка использовать on () / live () - без результата. Попытка уничтожить автозаполнение после добавления новой строки - без результата (уничтожает, но не создает).

1 ответ

Решение

Я только что протестировал этот код с jquery.formset-1.2, и он определенно работает:

function enableAutocomplete(context) {
    $('input[name$=select]', context || null).autocomplete({source:'my_url/', minLength: 3});
}

$(document).ready(function() {
    $('.foo').formset({
        added: function(row) {
            enableAutocomplete(row);
        }
    });

    enableAutocomplete();
});
Другие вопросы по тегам