Показать отели в автозаполнении ответа - PullRequest
0 голосов
/ 16 мая 2018

У меня есть autocomplete вход в моем представлении.

Вот сценарий, как я справлюсь

    $(targetSelector).each(function() {
      $(this)
        .autocomplete({ delay: 10, minLength: 0, source(request, response) {
              $(this.element[0]).attr("data-req-term", request.term);
              $.ajax({
                url: $(this.element[0]).attr("data-source"),
                dataType: "json",
                data: {
                  term: request.term
                },
                success(data) {
                  console.dir(data);
                  const results = [];
                  $.map(data.cities, function(value, key) {
                    results.push(value);
                    return $.map(value.airports, (value2, key2) =>
                      results.push(value2)
                    );

                  });
                  $.map(data.airports, (value, key) => results.push(value));
                  return response(results);
                },
                error() {
                  return response([]);
                }
              });
              return null;
            }, focus(event, ui) {
              return false;
            }, select(event, ui) {
              const qel = $(event.currentTarget);
              qel.val(ui.item.fullname);
              $(qel.attr("data-id-element")).val(ui.item.id);
              return false;
            }
      })
      .data("ui-autocomplete")._renderItem = function(ul, item) {
        return create_autocomplete_item($(this.element[0]), ul, item);
      };

      if (enableAutocompleteSelect) {
        $(targetSelector).on("autocompleteselect",
          function() {
            if ($(this)[0].id.indexOf("origin") !== -1) {
              const id = $(this)[0].id.split("_")[2];
              $(`#search_legs_${id}_destination_text`).focus();
            }
          });
      }

      $(targetSelector).focus(function() {
        $(this).keydown();
      });

      $(targetSelector).on("blur", function() {
        const value = $(this).val() as string;
        if (value.trim() == "") {
          $(this).val("");
        }
      });
    });
  }

Эта функция используется для получения данных для автозаполнения. Атв шоу аэропортов и городов.

А вот ответ от сервера, который я получаю.

enter image description here

Мне нужно также заполнить отели для автозаполнения результатов.

Как я могу это сделать?

1 Ответ

0 голосов
/ 16 мая 2018

Я могу получить значения для отеля, просто добавьте эту строку

$.map(data.hotels, (value,key)=> results.push(value));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...