带有许多输入的jQuery自动完成 - django-dynamic-formset

时间:2013-02-04 12:06:40

标签: javascript jquery django jquery-ui django-forms

我正在使用jQuery自动完成功能(http://jqueryui.com/autocomplete)和Django动态表单集(http://code.google.com/p/django-dynamic-formset/)。 我的一个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 个答案:

答案 0 :(得分: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();
});