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