Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.11.2010, 09:16
Новичок на форуме
Отправить личное сообщение для soad Посмотреть профиль Найти все сообщения от soad
 
Регистрация: 05.11.2010
Сообщений: 2

Управление состоянием множества checkbox 'ов с помощью одного checkbox 'са.
Никак не могу реализовать такую хрень: допустим у нас есть три флажка (checkbox) , назавём их "a", "b" и "c". Мне нужно чтобы при активировании флажка "а" автоматически активировались флажки "b" и "с", и что самое главное (что не получается реализовать), чтобы при деактивировании флажка "а" автоматически деактивировались флажки "b" и "с". Примером может быть страници mail,ru, где изображён список писем (например "входящие") . Там можно поставить галочку на любом письме независемо друг от друга, но когда ставишь галочку в заголовка, то и на всех письмах автоматом ставятся галочки, ну и естественно при снятии флажка с заголовка флажки автоматом снимается и со всех писем. Зарание всем спасибо !!!
------------------------------------------------------------
<script>
function act()
{
document.form.b.checked="checked";
document.form.c.checked="checked";
}
</script>
<form name="form">
<input type="checkbox" onclick="act();" id="a"><br>
<input type="checkbox" id="b">
<input type="checkbox" id="c">
</form>
------------------------------------------------------------
Вэтом примере при активации флажка с id="a" автоматом активируются флажки с id="b" и id="c". А как сделать чтобы при деактивации флажка с id="a" автоматом деактивируются флажки с id="b" и id="c" ??

Последний раз редактировалось soad, 05.11.2010 в 10:10. Причина: Вот пример кода
Ответить с цитированием
  #2 (permalink)  
Старый 05.11.2010, 09:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

Сообщение от soad
Никак не могу реализовать такую .....
Показал бы пример того, что ты делаешь... Задачка-то букварская.
Ответить с цитированием
  #3 (permalink)  
Старый 05.11.2010, 10:11
Новичок на форуме
Отправить личное сообщение для soad Посмотреть профиль Найти все сообщения от soad
 
Регистрация: 05.11.2010
Сообщений: 2

пример добавлен
Ответить с цитированием
  #4 (permalink)  
Старый 05.11.2010, 10:52
Ламер
Отправить личное сообщение для DooMer Посмотреть профиль Найти все сообщения от DooMer
 
Регистрация: 19.02.2010
Сообщений: 295

<script>
function act(v)
{
document.form.b.checked=v;
document.form.c.checked=v;
}
</script>
<form name="form">
<input type="checkbox" onclick="act(this.checked);" id="a"><br>
<input type="checkbox" id="b">
<input type="checkbox" id="c">
</form>
Ответить с цитированием
  #5 (permalink)  
Старый 05.11.2010, 11:26
2de 2de вне форума
Аспирант
Отправить личное сообщение для 2de Посмотреть профиль Найти все сообщения от 2de
 
Регистрация: 26.10.2010
Сообщений: 78

soad,
вместо "checked" нужно писать true или false
Ответить с цитированием
  #6 (permalink)  
Старый 05.11.2010, 18:29
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

soad, как вариант...

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>12345</title>
<style type="text/css">
</style>
<script>
function act() {
	var o=document.getElementById('frm')
	o=o.getElementsByTagName('input')
	var val=document.getElementById('a').checked
	var i
	for (i=1; i<o.length; i++) {
		o[i].checked=val
	}
}
</script>
</head>
<body>
<form id="frm">
	<input type="checkbox" onclick="act();" id="a" />
	<br />
	<input type="checkbox" id="b" />
	<input type="checkbox" id="c" />
</form>
</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 11.11.2010, 03:46
Аватар для vladlen
Кандидат Javascript-наук
Отправить личное сообщение для vladlen Посмотреть профиль Найти все сообщения от vladlen
 
Регистрация: 19.10.2010
Сообщений: 143

<script>
function act(v){
	document.forms['form'].b.checked = v;
	document.forms['form'].c.checked = v;
}
</script>
<form name="form">
<input type="checkbox" onclick="act(this.checked);" id="a"><br>
<input type="checkbox" id="b">
<input type="checkbox" id="c">
</form>
__________________
Если хочешь что-то сделать - сделай это…
Ответить с цитированием
  #8 (permalink)  
Старый 11.11.2010, 09:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,205

vladlen, аесли чекбоксов будет больше? Опять программку будешь менять?
Ответить с цитированием
  #9 (permalink)  
Старый 01.09.2012, 17:29
Аватар для Predator
Новичок на форуме
Отправить личное сообщение для Predator Посмотреть профиль Найти все сообщения от Predator
 
Регистрация: 01.09.2012
Сообщений: 1

Проще всего реализовать это на jQuery.

Для этого всем чекбоксам, которые должны будут выделяться, нужно прописать класс class='checks_all'
Пример:
...
<input type='checkbox' name='c0'  class='checks_all' />
<input type='checkbox' name='c1'  class='checks_all' />
<input type='checkbox' name='c2'  class='checks_all' />
<input type='checkbox' name='c3'  class='checks_all' />
<input type='checkbox' name='c4'  class='checks_all' />

<input type='checkbox' id='check_all' /> Выделить все

<script type=\"text/javascript\">
$(document).ready(function() {
    $('#check_all').click(function () {
         if (!$('#check_all').is(':checked'))
              $('.checks_all').removeAttr('checked');
        else 
              $('.checks_all').attr('checked','checked');
        });
});
</script>
...

При нажатии на чекбокс «Выделить все» будут отмечаться все чекбоксы с классом class='checks_all', при повторном нажатии все флажки снимутся.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Переключение checkbox с помощью toggle Viper jQuery 1 03.09.2012 15:22
Управление политикой одного источника (Кроссдоменный доступ) yuri201 Internet Explorer 5 10.01.2009 13:25