Отметка и снятие отметки со всех checkbox формы

Опубликовано 21 марта, 2010 в JavaScript, Полезные мелочи

Пополняем рубрику полезных мелочей.

Задача:  отметить или снять отметку со всех checkbox формы.
Решение: создаем JavaScript функцию, которая в цикле проходится по всем чекбоксам с именем-массивом, переданным во втором параметре. Первый параметр – форма.

<script language="JavaScript">
function checkAll(oForm, cbName, checked) {
    for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
}
</script>

Потом в форме создаем еще один чекбокс, по нажатию на который, собственно, и будут выделяться все братские элементы заданной формы:

<form name="sites" id="sites" action="">
    <input type="checkbox" onClick="checkAll(document.getElementById('sites'),'sites[]',this.checked)" /><br />

    <input type="checkbox" name="sites[]" value="1" />
    <input type="checkbox" name="sites[]" value="2" />
    <input type="checkbox" name="sites[]" value="3" />
    <input type="checkbox" name="sites[]" value="4" />
</form>



Комментарии «Отметка и снятие отметки со всех checkbox формы»:
Комментариев: 2. Обязательно оставьте свой!
Деловой 09.04.2010 в 22:13

Насколько я помню, одинаковые name-ы в input-ах являются невалидными по стандартам html.

pistol 10.04.2010 в 6:22

> Насколько я помню, одинаковые name-ы в input-ах являются невалидными по стандартам html.
Возможно. Но тут нет одинаковых неймов.

Ваш комментарий: