Вы можете попробовать добавить то, что вводится, в список предложений. Таким образом, они могут по существу выбрать то, что они печатают, используя "req.term". Как это:
//process response
$.each(data, function(i, val){
suggestions.push(val.name);
});
//append what has been typed in so it's available for selection
suggestions.push(req.term);
//pass array to callback
add(suggestions);
Затем в функции select: вы можете вставить выборку в базу данных с помощью вызова ajax, если она еще не существует.
//define select handler
select: function(e, ui) {
//create formatted friend
var friend = ui.item.value,
span = $("<span>").text(friend),
a = $("<a>").addClass("remove").attr({
href: "javascript:",
title: "Remove " + friend
}).text("x").appendTo(span);
//add friend to friend div
span.insertBefore("#to");
//insert selected email if doesn't already exists
},
Вот пример нажатия клавиши для вставки вашего отформатированного друга при вводе:
$("#to").keypress(function(e){
var code = (e.keyCode ? e.keyCode : e.which);
if (code == 13) { //Enter keycode
e.preventDefault();
//create formatted friend
var friend = $(this).val(),
span = $("<span>").text(friend),
a = $("<a>").addClass("remove").attr({
href: "javascript:",
title: "Remove " + friend
}).text("x").appendTo(span);
//add friend to friend div
span.insertBefore("#to");
$(this).autocomplete('close');
}
});