JQuery автозаполнение при выборе заполнить другие поля - PullRequest
0 голосов
/ 09 сентября 2011

Я вызываю удаленный источник данных и возвращаю json. После выбора элемента опция обратного вызова select: позволяет мне работать только с меткой и значением элемента, но я также хотел бы поработать с другими свойствами моего объекта json, чтобы автоматически заполнить другие поля.

Есть ли удобный способ сделать это, которого мне не хватает? Варианты, которые я вижу до сих пор ...

  1. Кэшировать ajax-ответ на объект json глобально и ссылаться на этот глобальный объект после выбора
  2. Повторно запросить базу данных при выборе, используя значение элемента или метку

Не особо доволен ни одним из них. Мысли?

Редактировать Я забыл, что использовал $ .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");
      });

1 Ответ

4 голосов
/ 09 сентября 2011

что заставляет вас думать, что вы можете работать только с меткой и значением?

select: function (event, ui) {
       foo = ui.item.label;
        $("#bar").val(ui.item.id);
       baz = (ui.item.JsonField);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...