Я создаю динамическое поле, к которому я применяю select2 следующим образом:
$('#form-addSubject').on('DOMNodeInserted', 'select', function () {
currentex = parseInt($("#countE").val(), 10);
currentQ = parseInt($("#countQE" + currentex).val(), 10) + 1;
$(this).select2({
placeholder: "Ex: Lycée, Moyen, Supérieur,...",
id: function(object) {
return object.text;
},
/*initSelection: function(element, callback) {
callback(levels);
},*/
ajax: {
url: '/subjects/tags/',
dataType: 'json',
data: function (params) {
return {
name_startsWith: params.term,
page: params.page
};
},
processResults: function (data, params) {
// parse the results into the format expected by Select2
// since we are using custom formatting functions we do not need to
// alter the remote JSON data, except to indicate that infinite
// scrolling can be used
params.page = params.page || 1;
return {
results: $.map(data, function (item) {
return {
text: item.name,
id: item.pk
};
})
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 0,
minimumResultsForSearch: -1
});
});
Где # form-addSubject является статическим элементом. Автозаполнение работает нормально, как видно на рисунке ниже.
Однако я не могу ни выбрать ни один элемент, ни записать его в поле ввода.