@GuyRitchie

Как имитировать клик по option?

hi! Задача состоит в следующем: имеется дефолтный select, который посредствам скрипта формируется в новый(да бы застелизовать его)... есть прогресс бар, который отслеживает заполнение select-ов в форме и заполняет линию в нём ровно на столько, на сколько форму заполнили... и то, и то я реализовал, но баг в следующем: я сформировал список исходя из дефолтного селекта, и при клике на элемент списка, я меняю выбранный option в select, но при этом прогресс бар не заполняется... а если изменять option в самом select, то событие chenge отслеживается и всё работает... в чём моя ошибка? вот мои старания: https://jsfiddle.net/yh9ov8ct/1/
  • Вопрос задан
  • 57 просмотров
Решения вопроса 2
Stalker_RED
@Stalker_RED
.
Целью для dispatchEvent должна быть форма.
https://jsfiddle.net/emL0nc7a/

Либо в событии указать, что оно должно всплывать (bubbling)
new Event('change', {bubbles:true})
Ответ написан
0xD34F
@0xD34F
в чём моя ошибка?

В том, что вы забыли про всплытие событий. Обработчики у вас подключены не к элементам, а к форме, события всплывают. А когда вы вручную создаёте событие, то передаёте его не в форму, а в select, при том, что по умолчанию конструктор Event создаёт невсплывающее событие. Т.е., надо заменить new Event('change') на new Event('change', { bubbles: true }).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы