не могу открыжить все чекбоксы нажатием одного
Всем доброго времени суток)
У меня проблема - не могу открыжить все чекбоксы при нажатии одного сверху (пример как на майле сделано - можешь открыжить все письма, если поставишь крыжик сверху)...у меня динамический список этих самых чекбоксов (которые надо открыжить) и всегда в верхней строчке таблицы рисуется этот главный чекбокс :) ...все чекбоксы имеют id которое мне известно (от 1 до 24)...и вот что я написала: Код:
<script> заранее всем очень благодарна |
я решил подобную проблему следующим образом:
Код:
function checkall() { и еще: не работать может потому, что у тебя написано getElementByID, попробуй последнюю букву сделать маленькой, как в моем примере. на сколько я заметил javascript очень капризный язык и одна буква в неправильном регистре может послужить проблемой на целых два дня. :) |
Цитата:
|
Если можно сделать все чекбоксы одного класса, то можно так:
<script type="text/javascript"> function myGetElementsByClassName(class){ var arr=document.getElementsByTagName('*'); var res=new Array(); for(i=0;i<arr.length;i++){ if(arr.item(i).className==class){ res.push(arr.item(i)); } } return res; } function chkclick(obj){ var arr=myGetElementsByClassName('checker'); for(i=0;i<arr.length;i++){ arr[i].checked=obj.checked; } } </script> <input type="checkbox" onclick="chkclick(this);">Мейн-бокс<br /> <input type="checkbox" class="checker"><br /> <input type="checkbox" class="checker"><br /> <input type="checkbox" class="checker"><br /> <input type="checkbox" class="checker"><br /> |
Цитата:
|
alexKniaz Хороший у Вас код, но можно ли сделать так, чтоб он и в ИЕ работал?
|
Отличная идея использовать классы, чтобы выделить элементы.
Однако, исполнение несколько хромает: Не забывайте, что у браузера уже может быть родной метод document.getElementsByClassName, который работает на два порядка шустрее, чем пребор документа. А может и не быть. Не забывайте, что у элемента может быть несколько классов. Так что проверка element.className == classверна далеко не всегда. Лучше использовать var classRegExp = new RegExp("(^|\\s)+" + class + "(\\s|$)+"); classRegExp.test(element.className) |
Цитата:
|
для выборки целевых чекбоксов вместо атрибута class лучше юзать name.
|
Octane, ни на что не ругается. Просто не работает
|
так все таки, есть способ сделать все чекбоксы в ИЕ??
|
господа. помогите пожалуйста:
Есть чекбокс: <input type="checkbox" onChange="SetVal(this);"> есть javascript фукнция: function SetVal(obj) { var arr=document.getElementById("tree"); var ar = arr.getElementsByTagName("input"); for(i=0;i<ar.length;i++){ if (ar.classname = "checker") {ar.checked=obj.checked;} } } элемент с ID = "tree" - это таблица, внутри которой находятся все чекбоксы, которые нужно включать/выключать подскажите пожалуйста, почему в ИЕ, при попытке нажать на указанный чекбокс до функции дело не доходит?? |
Часовой пояс GMT +3, время: 18:21. |