Предполагая, что вы делаете именно так, как в учебнике, на который вы ссылаетесь:
- Перед прикреплением автозаполнения создайте пустой массив для хранения элементов, которые следует игнорировать (
var ignored=[];
). Вы можете поместить его в глобальную область видимости, чтобы он был доступен где угодно (перед $(function() { ...
).
В определении обратного вызова source
(который форматирует результаты) замените это
//process response
$.each(data, function(i, val){
suggestions.push(val.name);
});
с этим:
//process response
$.each(data, function(i, val){
if(ignored.indexOf(val.name) == -1) {
suggestions.push(val.name);
}
});
Затем внутри обратного вызова select
добавьте значение выбранного элемента в массив ignored
:
ignored.push(ui.item.value)
Возможно, вы захотите «игнорировать» элемент, если пользователь нажимает на ссылку для удаления. Внутри определения обработчика удаления в первой строке добавьте:
var text = $(this).parent().find('a').remove().end().text();
var position = ignored.indexOf(text);
if(position != -1) {
ignored.splice(position, 1);
}
// rest of the original code below...