Автоматическое снятие выделения checkbox'ов
дравствуйте.
Подскажите, пожалуйста, почему не работает функция, которая по событию onclick должна выделять (с этим всё понятно), а затем снимать выделение (с этим проблема) с группы checkbox'ов.
var globvar = false;
function checkForm(classname)
{
var select = document.getElementsByName(classname);
for(i=0; i < select.length; i++)
{
if(select[i].type == 'checkbox')
{
select[i].checked = (!globvar) ? true : false;
globvar = (!globvar) ? true : false;
}
}
}
Как её откорректировать, чтобы она работала? Буду признателен за помощь. |
Вынеси 13 строчку из цикла for
|
Спасибо за совет, но не помогло.
Что-то ещё можно сделать? |
function checkForm(name) {
checkForm.checked = !checkForm.checked;
var nodes = document.getElementsByName(name);
for (var i = 0; i < nodes.length; i++) {
nodes[i].checked = checkForm.checked;
}
}
|
exec,
спасибо, но тоже не работает... |
Ghost,
Может быть Вы полностью приведёте нерабочий код, но все подсказанные примеры при правильном использовании должны были сработать. для примера :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form name="form" action="http://">
<input type="checkbox" name="" />
<input type="checkbox" name="" />
<input type="checkbox" name="" />
<input type="button" name="" value="go" onclick="checkForm('form')"/>
</form>
<form name="form2" action="http://">
<input type="checkbox" name="" />
<input type="checkbox" name="" />
<input type="checkbox" name="" />
<input type="button" name="" value="go2" onclick="checkForm('form2')"/>
</form>
<script language="JavaScript" type="text/javascript">
function checkForm(name) {
var form = document.forms[name] ;
form.globvar = !form.globvar;
var a = form.getElementsByTagName('input');
for (var i = 0; i < a.length; i++) if (a[i].type == "checkbox") a[i].checked = form.globvar
};
</script>
</body>
</html>
|
Да, ваши примеры все рабочие. Я нашёл в чём у меня была ошибка.
<input type="checkbox" onclick="checkForm('check1')">
<input type="checkbox" onclick="checkForm('check2')">
Это checkbox'ы по событию которых запускается функция. А это пример checkbox'ов, которые нужно выделять (к примеру): <input type="checkbox" name="check1[]" value="1"> ... <input type="checkbox" name="check1[]" value="n"> <input type="checkbox" name="check2[]" value="1"> ... <input type="checkbox" name="check2[]" value="n"> Но дело в том, что мне нужно имя элементов именно в виде массива - для дальнейшей работы PHP-скрипта. Подскажите, пожалуйста, как можно подправить функцию, чтобы выделялись именно элементы массива по его имени, переданному в функцию. |
| Часовой пояс GMT +3, время: 01:54. |