Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2015, 18:38
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

Условия в 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, 03.03.2015 в 18:45.
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2015, 18:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

k_DizeL,
а если со всех #modules убрали тогда как ?
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2015, 18:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

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>
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2015, 18:51
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

Сообщение от рони Посмотреть сообщение
k_DizeL,
а если со всех #modules убрали тогда как ?
Если поставили хоть 1 галочку в #modules то автоматом ставится галочка в #glv.
Если галочки в #modules убрали, то на #glv галочка убралась.

Более жесткая логика, но по моему она ни как не реализуется (Но хотелось бы):
А вот если вначале поставили галочку в #glv, а после в #modules поставили хоть 1 галочку , потом ее убрали то в #glv галочка все равно остается активной (Приоритет на ручной выбор)
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2015, 18:59
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

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, 03.03.2015 в 19:05.
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2015, 19:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

k_DizeL, почитайте про делегирование и ставьте обработку клик только на #modules
event.target.parentNode.id == 'modules' &&
         event.target.checked && (glv.checked = true);
Ответить с цитированием
  #7 (permalink)  
Старый 03.03.2015, 19:09
Аспирант
Отправить личное сообщение для k_DizeL Посмотреть профиль Найти все сообщения от k_DizeL
 
Регистрация: 20.02.2015
Сообщений: 54

рони, Спасибо за новые знания в пустую копилку
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHP. Файлы инициализации, и зачем нужно множество файлов для подключение к БД? Brook Серверные языки и технологии 2 04.12.2013 10:31
Некоректная сумма для checkbox new_guy Общие вопросы Javascript 3 25.09.2013 14:32
Фреймворк для разработки расширений для Chrome chernikov Библиотеки/Тулкиты/Фреймворки 0 05.03.2012 17:51
HTA-приложение для радио Pianorama Magneto Ваши сайты и скрипты 42 22.01.2012 08:34