我正在尝试将jQuery UI自动完成小部件绑定到动态添加的输入字段。我在这里阅读了一些帖子,但似乎都没有帮助。
我正在使用的代码来自Dynamically adding a form to a Django formset with Ajax,我稍微修改了它以绑定自动完成。
但是,绑定似乎不起作用。每当我输入新添加的字段时,自动完成框都不会显示。我使用的代码如下:
function cloneMore(selector, type,field) {
var newElement = $(selector).clone(true);
var total = $('#id_' + type + '-TOTAL_FORMS').val();
newElement.find(':input').each(function() {
var name = $(this).attr('name').replace('-' + (total-1) + '-','-' + total + '-');
var id = 'id_' + name;
if ($(this).attr('type') != 'hidden') {
$(this).val('');
}
$(this).attr({'name': name, 'id': id}).removeAttr('checked');
});
newElement.find('label').each(function() {
var newFor = $(this).attr('for').replace('-' + (total-1) + '-','-' + total + '-');
$(this).attr('for', newFor);
});
total++;
$('#id_' + type + '-TOTAL_FORMS').val(total);
$(selector).after(newElement);
/* create the selector string and bind autocomplete */
var select_string = "#id_"+type+"-"+(total-1)+"-"+field;
$( select_string).autocomplete({
source: asset_universe_codes,
});
}
我已检查过该功能中是否可以访问自动完成源,所以我很茫然。
有人可以帮忙吗?
谢谢,
杰森
答案 0 :(得分:1)
似乎newElement尚未附加到DOM,如果是这种情况,那么附加它(在调用自动完成之前)应解决您的问题。