Автоматическое снятие выделения 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, время: 00:01. |