1

我正在使用 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() - 没有结果 添加新行后尝试破坏自动完成 - 没有结果(它会破坏,但不会创建)。

4

1 回答 1

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();
});
于 2013-02-05T05:04:06.993 回答