как передать содержимое элемента input.datalist.option в функцию Javascript

Что нужно передать в функцию SelectRegion(this) вместо 'this', чтоб при выполнении функции в консоль вывелся весь выбранный элемент options, а не только значение?

 <input name="region" list="region_list" onchange="SelectRegion(this)">
    <datalist id="region_list">
       <option class="regions" data-rus="Все области" data-ukr="Всi областi">Все области</option>
       <option class="regions" data-rus="Винницкая" data-ukr="Вінницька">Винницкая</option>
       <option class="regions" data-rus="Волынская" data-ukr="Волинська">Волынская</option></datalist>
    <script>
       function SelectRegion(select){
          console.log(select);
       }
    </script>

В сети нашел пример только с select, с input он не работает:

(<select onchange="showResult(this.options[this.selectedIndex])">)


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

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

function SelectRegion(select){
  const selectedOption = [...select.list.options].find(
    option => option.innerText === select.value
  );
  if (selectedOption) console.log(selectedOption.outerHTML);
  else console.log('Input value does not match datalist.');
}
<input name="region" list="region_list" onchange="SelectRegion(this)">
    <datalist id="region_list">
       <option class="regions" data-rus="Все области" data-ukr="Всi областi">Все области</option>
       <option class="regions" data-rus="Винницкая" data-ukr="Вінницька">Винницкая</option>
       <option class="regions" data-rus="Волынская" data-ukr="Волинська">Волынская</option>
     </datalist>

→ Ссылка