Я вызываю удаленный источник данных и возвращаю json. После выбора элемента опция обратного вызова select:
позволяет мне работать только с меткой и значением элемента, но я также хотел бы поработать с другими свойствами моего объекта json, чтобы автоматически заполнить другие поля.
Есть ли удобный способ сделать это, которого мне не хватает? Варианты, которые я вижу до сих пор ...
- Кэшировать ajax-ответ на объект json глобально и ссылаться на этот глобальный объект после выбора
- Повторно запросить базу данных при выборе, используя значение элемента или метку
Не особо доволен ни одним из них. Мысли?
Редактировать
Я забыл, что использовал $ .map
$('#accountName').autocomplete({
source: function (request, response) {
$.getAccountsByNameLike(request.term, function (data) {
response($.map(data, function (item) {
return {
label: item.Name + ' (' + item.Address.City + ', ' + item.Address.StateOrProvince + ')',
value: item.AccountId,
// Added to fix issue
raw: item
}
}));
}, function (error) {
// async kickoff a log to logging server service...
alert("There was a problem while trying to retrieve account names. Please contact support");
});