Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выбор элемента изи списка (https://javascript.ru/forum/dom-window/86040-vybor-ehlementa-izi-spiska.html)

Димитр 09.08.2024 10:12

Выбор элемента изи списка
 
Вложений: 2
Привет!!!

<div>
<select name="Select Product" id="">
<option value="">--Please choose an option--</option>
<option value="">Advanced Salmon</option>
<option value="">Apple Cider</option>
<option value="">Aple Pie</option>
<option value="">Appreciation Baguatte</option>
</select>
</div>

Как сделать, чтобы при выборе продукта из списка открывалось в div, как на втором рис., составные части продукта?

voraa 09.08.2024 14:15

А где и как заданы эти составные части для каждого продукта? В какой то БД на сервере или просто в какой то таблиц, заданной массивом в js или заранее прописаны где то в html?

ksa 09.08.2024 14:41

Цитата:

Сообщение от Димитр
Как сделать, чтобы при выборе продукта из списка открывалось в div, как на втором рис., составные части продукта?

Что-то нечто такого можно сделать...

<style>
* {
  font-size: 20px;
  padding: 2px;
}
</style>
<select name="country" id="country">
  <option value="bra" selected>Бразилия</option>
  <option value="rus">Россия</option>
  <option value="ind">Индия</option>
  <option value="chn">Китай</option>
  <option value="zaf">ЮАР</option>
</select>
<select name="city" id="city">
</select>
<script>
const cities = {
  bra: ["Сан-Паулу", "Рио-де-Жанейро"],
  rus: ["Москва", "Санкт-Петербург"],
  ind: ["Мумбаи", "Дели"],
  chn: ["Шанхай", "Пекин"],
  zaf: ["Йоханнесбург", "Кейптаун"]  
};
const country = document.getElementById("country");
const city = document.querySelector("#city");
window.onload = selectCountry;
country.onchange = selectCountry;
selectCountry()

function selectCountry(ev){
  city.innerHTML = "";
  const c = this.value || "bra"
  for(let i = 0; i < cities[c].length; i++){
    const o = new Option(cities[c][i], i, false, false);
    city.add(o);
  };
}
</script>


Часовой пояс GMT +3, время: 21:25.