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