Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   отследить событие option (https://javascript.ru/forum/events/72221-otsledit-sobytie-option.html)

DivMan 16.01.2018 15:50

отследить событие option
 
Почему не срабатывает событие, как сделать?

<select>
  <option class="option-size" value="1">op1</option>
  <option class="option-size" value="2">op2</option>
  <option class="option-size" value="3">op3</option>
  <option class="option-size" value="4">op4</option>
</select>


var select = document.querySelectorAll('.option-size');
										
	select.forEach(function(item, i) {
		select[i].addEventListener('change', function(e) {
				console.log(e.target.value);
			})
	})

рони 16.01.2018 15:53

Цитата:

Сообщение от DivMan
как сделать?

никак

DivMan 16.01.2018 15:54

Почему?

Nexus 16.01.2018 15:59

DivMan, вешайте обработчик на "select", не на "option".

рони 16.01.2018 15:59

DivMan,
потому что в option ничего не меняется 'change' изменяется состояние самого селекта. даже клик на option не все браузеры поддерживают

DivMan 16.01.2018 16:06

Так тоже, почему-то не работает

<select class="optionValue">
  <option class="option-size" value="1">op1</option>
  <option class="option-size" value="2">op2</option>
  <option class="option-size" value="3">op3</option>
  <option class="option-size" value="4">op4</option>
</select>


var option = document.querySelector('.optionValue');
	option.onchange=console.log(this.value);

Nexus 16.01.2018 16:07

var option = document.querySelector('.optionValue');
    option.onchange=function(){console.log(this.value);};

DivMan 16.01.2018 16:27

Спасибо


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