Ответ на этот вопрос для всех, кто сталкивается с этой проблемой в 2013 году (да!)
$("#my_input").autocomplete({
source: '/get_data/',
change: function(event, ui) {
var source = $(this).val();
var temp = $(".ui-autocomplete li").map(function () { return $(this).text()}).get();
var found = $.inArray(source, temp);
if(found < 0) {
$(this).val(''); //this clears out the field if non-existing value in <select><options> is typed.
}
}
});
Объяснение: Метод map () создает заполненный объект jQueryс тем, что возвращено из функции (в данном случае текстовым содержимым каждого <li>
элемента).
Метод get () (при отсутствии аргумента) преобразует этот объект jQuery в фактический массив.
Вот оригинальная ссылка , где я видел решение.
Надеюсь, это поможет.Спасибо!