Как заставить скрипт показать-скрыть элемент, в зависимости от состояния другого эелемента?
Что то опять затупил - суть проблемы:
Есть блок, в котором есть заголовок и собственно содержимое.
Див с содержимым может быть пустым, может быть нормально заполнен, и может быть заполненным, но скрытым (display:none) . Все эти манипуляции с DOM выполняются скриптами на странице, в зависимости от выбора тех или иных опций (чекбоксы, дропдауны).
Необходимо - если содержимое отсутствует или скрыто - показать заголовок, если содержимое видимо - соотв-но скрыть.
Вроде бы ничего сложного - прописываю простое условие, и все срабатывает.
НО - если я начинаю менять содержимое (изменять опции - ставить убирать эти самые чекбоксы, дропдауны и тд и тп),
т.е. изменять состояние содержимого, то ничего не происходит.
Чуть подробнее. Например, при открытии страницы опции не выбраны. Соот-но содержимое пусто. Скрипт нормально срабатывает и заголовок виден.
Далее, после выбора опций, содержимое заполнилось, но скрипт событие это проигнорировал и не отработал. Заголовок остался видим.
Так же - в качестве теста - если при выбранных опциях (т.е. при заполненном и видимом содержимом) запустить скрипт,
он скроет заголовок. Однако, если после этого какую то из опций выставить неопределенной, то диву содержимого будет задан display: none и содержимое скроется, но скрипт это событие тоже проигнорирует и заголовок останется не видим.
Что не так, addEventListener добавить или что?
Вот накидал все 3 возможных состояния - понятно, там сейчас отрабатывает скрипт по первому блоку, но мне не надо по циклу перебирать, блок этот на странице один, просто чтобы немного яснее было.
Скрипт - он не умный и не понимает, чё вам от него надо, если ему об этом не сказать
Вам нужно, чтобы он отрабатывал при изменении какого-то инпута. Скажите ему об этом) Почитайте про addEventListener и input events. Для jquery может хватить методов onChange, onInput
Да где то так - там 2 селекта и еще 2 инпута с контроллами типа listbox. Все они с классами - селекты с классом swatch-select, инпуты с классом swatch-input. Ну ладно, пока с инпутами и контроллами погодим.
Вот для одного селекта что получилось
ясно что код далек от совершенства, большая его часть вообще чисто имитирует то что делают эти селекты.
Так вот, пока чисто хочу добавить 2-й селект. И чтобы, если у любого из них будет option value="0", показать span.