@mraser

Как вытащить результат из селекта и передать в следующий запрос?

Есть первый запрос по api, приходит ответ - я оттуда беру только параметр с городами и закидываю в первый селект. Получается список из городов.
Далее нужно после выбора города из этого списка (например, Киев), этот город передался в другой запрос
Как вытащить результат с выбранным городом и передать во второй запрос?

https://jsfiddle.net/o27zvk41/
  • Вопрос задан
  • 123 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
<select id="city"></select>
<select id="warehouse"></select>

const citySelect = document.querySelector('#city');
const warehouseSelect = document.querySelector('#warehouse');

citySelect.addEventListener('change', function() {
  updateSelectOptions(warehouseSelect, {
    calledMethod: 'getWarehouses',
    methodProperties: {
      CityName: this.value,
    },
  });
});

updateSelectOptions(citySelect, {
  calledMethod: 'getCities',
  methodProperties: {
    FindByString: '',
  },
});



function updateSelectOptions(selectEl, queryData) {
  fetch('https://api.novaposhta.ua/v2.0/json/', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({
      modelName: 'Address',
      apiKey: '',
      ...queryData,
    }),
  })
    .then(r => r.json())
    .then(r => selectEl.innerHTML = r.data
      .map(n => `<option>${n.Description}</option>`)
      .join('')
    );
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы