Условия в checkbox для группы
Имеется такая схема:
<input type="checkbox" onchange="est()" value="3000" id="glv" /> <label for="cms">Главный чекбокс</label> <div id="modules"> <input type="checkbox" onchange="est()" value="1000" id="otz" /> <label for="otz">1</label><br> <input type="checkbox" onchange="est()" value="1000" id="news" /> <label for="news">2</label><br> <input type="checkbox" onchange="est()" value="1000" id="photo" /> <label for="photo">3</label><br> </div> Как при выборе любого checkbox из группы #modules автоматически ставилась галочка с #glv. В случае, если убирается галочка из любого пункта группы #modules, галочка с #glv всеравно остается активной |
k_DizeL,
а если со всех #modules убрали тогда как ? |
k_DizeL,
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> function est() { event.target.checked && (glv.checked = true); } </script> </head> <body> <input type="checkbox" onchange="est()" value="3000" id="glv" /> <label for="cms">Главный чекбокс</label> <div id="modules"> <input type="checkbox" onchange="est()" value="1000" id="otz" /> <label for="otz">1</label><br> <input type="checkbox" onchange="est()" value="1000" id="news" /> <label for="news">2</label><br> <input type="checkbox" onchange="est()" value="1000" id="photo" /> <label for="photo">3</label><br> </div> </body> </html> |
Цитата:
Если галочки в #modules убрали, то на #glv галочка убралась. Более жесткая логика, но по моему она ни как не реализуется (Но хотелось бы): А вот если вначале поставили галочку в #glv, а после в #modules поставили хоть 1 галочку , потом ее убрали то в #glv галочка все равно остается активной (Приоритет на ручной выбор) |
document.querySelectorAll('#modules > [type="checkbox"]').event.target.checked && (glv.checked = true); document.getElementById('otz').event.target.checked && (glv.checked = true); document.querySelectorAll('#modules [type="checkbox"]').event.target.checked && (glv.checked = true); Нужно ограничится лишь div с #modules Мои колхозные варианты не прокатили |
k_DizeL, почитайте про делегирование и ставьте обработку клик только на #modules
event.target.parentNode.id == 'modules' && event.target.checked && (glv.checked = true); |
рони, Спасибо за новые знания в пустую копилку
|
Часовой пояс GMT +3, время: 21:03. |