Я работаю над приложением, которое использует Select2 (версия 3.5.1). HTML для установки этого выпадающего/автозаполненного поля выглядит следующим образом:
<input id="mySelect" class="form-control" type="hidden">
Класс form-control
в этом фрагменте происходит из Bootstrap. Я инициализирую это поле из JavaScript, используя следующее:
function getItemFormat(item) {
var format = '<div>' + item.ItemName + '</div>';
return format;
}
$(function() {
$('#mySelect').select2({
minimumInputLength: 5,
placeholder: 'Search for an item',
allowClear: true,
ajax: {
url: '/api/getItems',
dataType: 'json',
quietMillis: 250,
data: function (term, page) {
return {
query: term
};
},
results: function (data, page) {
return { results: data, id: 'ItemId', text: 'ItemText' };
}
},
formatResult: getItemFormat,
dropdownCssClass: "bigdrop",
escapeMarkup: function (m) { return m; }
});
});
Когда мое поле выбора загружается, оно успешно отображается. Как только я напечатаю хотя бы пятый символ, он успешно вытаскивает элементы с сервера и перечисляет их как параметры. Однако, если я попытаюсь выбрать один из них, ничего не произойдет. Выпадающее всплывающее окно остается открытым. Ничто не попадает в реальное поле. В консоли JavaScript нет ошибок. Как будто я ничего не нажал.
Кроме того, я заметил, что ничто не подсвечивается, когда я наводил указатель мыши на элемент или пытался перейти к списку параметров с помощью клавиш со стрелками.
Что я делаю неправильно?