我正在使用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添加新行并使用以下命令处理其“ added”事件:

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


它不适用于新添加的行。怎么了?

更新:
试图改用类-没有结果
尝试使用on()/ live()-没有结果
尝试在添加新行后销毁自动完成功能-无结果(销毁但不创建)。

最佳答案

我刚刚使用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();
});

09-28 13:06