как передать содержимое элемента 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>