Подскажите как перебрать option и получить Index

  1. Ожидается получать index выбраного option
  2. когда текущий option не выбран пользователем стоит, тоже нужно чтобы выводился index (по index я буду делать сравнения)

  function calc(){ 
    const typeCar = document.querySelectorAll(".typeCar");
  function actionSbor(typeCar, stateAction) {
    typeCar.forEach((element, index, array) => {
      element.addEventListener("change", function () {
        console.log(index);
      });
    });
  }
   actionSbor(typeCar, stateAction);
  }
  
 <select onchange="calc()" class="typeCar">
               <option value="">Легковый</option>
               <option value="">Кроссовер</option>
               <option value="">Пикап / Микроавтобус </option>
               <option value="400">Мотоцикл</option>
  </select><br/><br/>


Ответы (1 шт):

Автор решения: nazarpunk

addEventListener(`change`, e => {
  if (!e.target.classList.contains(`typeCar`)) return;
  alert(`${e.target.value}\r\n${e.target.querySelector(`[value='${e.target.value}']`).textContent}`);
});

document.querySelector(`.typeCar`).dispatchEvent(new Event(`change`, {
  bubbles: true
}));
<select onchange="calc()" class="typeCar">
  <option value="1">Легковый</option>
  <option value="2">Кроссовер</option>
  <option value="3">Пикап / Микроавтобус </option>
  <option value="4">Мотоцикл</option>
</select>

→ Ссылка