Отправить дополнительные данные с опциями автозаполнения - PullRequest
0 голосов
/ 01 апреля 2009

У меня есть поле, которое автоматически заполняет имя человека, поэтому у него есть такие опции, как «Обама, Барак», «Линкольн, Абэ» и т. Д.

Эти люди также имеют дополнительные атрибуты, например, «Место рождения» и «Номер телефона». Когда пользователь выбирает параметр из автозаполнения, я хотел бы, чтобы дополнительные атрибуты этого человека автоматически заполняли скрытые поля формы.

Веб-сервис, который предоставляет опции автозаполнения, также знает место рождения и номер телефона каждого, поэтому он может отправить эти данные клиенту. Однако используемый мной плагин автозаполнения jQuery не принимает никаких дополнительных данных, таких как эта, вы можете предоставить ему только опции автозаполнения.

Есть мысли о том, как это сделать?

Ответы [ 3 ]

1 голос
/ 01 апреля 2009

Я не знаком с плагином автозаполнения, но: почему бы не загрузить все данные с сервера, а затем только подать автозаполнение, что ему нужно. То есть

var persons = {
 abe: {
   name: 'abe',
   birthplace: 'I\'m not from the US so I have no clue'
  },
 Obama: {
   name: 'Obama',
   birthplace: 'please see abe'
 }
};

Затем сделайте что-то вроде:

for(name in persons){
 feedAutocomplete(name); //or persons[name].name
}

Или, если вам нужно скормить автозаполнение в одном массиве:

autoCompleteArray = Array();
for(name in persons){
 autoCompleteArray.push(name);
}
feedAutocomplete( autoCompleteArray );

И обратный вызов onAutoComplete:

function onAutoComplete(name){
  //or if the currect value is not supplied in
  // the function: var name = $('#autocompleField').val();
  var personInfo = persons[name]; 
  $('#hiddenFieldBirthplace').val( personInfo.birthplace );
}
1 голос
/ 01 апреля 2009

Используйте YUI :)

Обрабатывает все это, полностью настраиваемый из коробки.

0 голосов
/ 01 апреля 2009

Я считаю, что плагин автозаполнения позволяет использовать функции обратного вызова Вы можете заполнить скрытые поля на основе выбора пользователей в этой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...