Условия в 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, время: 11:27. |