@lagudal

Как заставить скрипт показать-скрыть элемент, в зависимости от состояния другого эелемента?

Что то опять затупил - суть проблемы:
Есть блок, в котором есть заголовок и собственно содержимое.
Див с содержимым может быть пустым, может быть нормально заполнен, и может быть заполненным, но скрытым (display:none) . Все эти манипуляции с DOM выполняются скриптами на странице, в зависимости от выбора тех или иных опций (чекбоксы, дропдауны).
Необходимо - если содержимое отсутствует или скрыто - показать заголовок, если содержимое видимо - соотв-но скрыть.
Вроде бы ничего сложного - прописываю простое условие, и все срабатывает.
НО - если я начинаю менять содержимое (изменять опции - ставить убирать эти самые чекбоксы, дропдауны и тд и тп),
т.е. изменять состояние содержимого, то ничего не происходит.
Чуть подробнее. Например, при открытии страницы опции не выбраны. Соот-но содержимое пусто. Скрипт нормально срабатывает и заголовок виден.
Далее, после выбора опций, содержимое заполнилось, но скрипт событие это проигнорировал и не отработал. Заголовок остался видим.
Так же - в качестве теста - если при выбранных опциях (т.е. при заполненном и видимом содержимом) запустить скрипт,
он скроет заголовок. Однако, если после этого какую то из опций выставить неопределенной, то диву содержимого будет задан display: none и содержимое скроется, но скрипт это событие тоже проигнорирует и заголовок останется не видим.
Что не так, addEventListener добавить или что?
Вот накидал все 3 возможных состояния - понятно, там сейчас отрабатывает скрипт по первому блоку, но мне не надо по циклу перебирать, блок этот на странице один, просто чтобы немного яснее было.
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 1
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Скрипт - он не умный и не понимает, чё вам от него надо, если ему об этом не сказать

Вам нужно, чтобы он отрабатывал при изменении какого-то инпута. Скажите ему об этом) Почитайте про addEventListener и input events. Для jquery может хватить методов onChange, onInput
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы