Стандартный поиск предложит все, что вам нужно.Вам просто нужно использовать функцию $.map()
, чтобы получить необходимые данные из ответа сервера.Пример:
...
success: function (data) {
response($.map(data.d, function (item) {
return {
id: item.ContactId,
value: item.LastName + ", " + item.FirstName
}
}))
}
...
Затем просто сохраните выбранные элементы (включая идентификаторы и имена) в переменной $().data()
на входе.Пример:
...
select: function (event, ui) {
$(this).data("Selected", item);
}
...
Теперь, когда вы готовы отправить свое значение обратно на сервер, вы можете просто отправить идентификатор выбранной записи следующим образом:
var idToSend = $("#autoComplete").data("Selected").id;
Надеюсьчто помогает.Удачи!
* * РЕДАКТИРОВАТЬ * *
Извините, $.map()
была раздвоенной мыслью.data.d
в моем примере является специфическим для .NET, но есть два свойства, которые являются родными для плагина автозаполнения (.value
и .label
).
.value
будет то, что отображается и сохраняетсяесли .label
не существует;в противном случае .value
будет считаться значением, сохраненным во входном пост-выборе, а .label
будет тем, что отображается в раскрывающемся списке.