Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   по нажатию радио выбрать чекбоксы (https://javascript.ru/forum/misc/6325-po-nazhatiyu-radio-vybrat-chekboksy.html)

Zzet 24.11.2009 17:43

по нажатию радио выбрать чекбоксы
 
В общем, нужно по нажатию второй радиокнопки проставить все чекбоксы. вот что делаю
function myradio()
    {
         var radio=document.getElementById("r2");
         var radio=document.getElementById("chbox");
         if (radio.checked)
            {
                ch.value=checked; 
            }
         else ch.value=0; 
    }

<INPUT TYPE='RADIO' id='r1' NAME='r1' VALUE='1' checked>Проставить вручную<br>
<INPUT TYPE='RADIO' id='r2' NAME='r1' VALUE='2' onclick="myradio();">Проставить все<br>
<INPUT TYPE="CHECKBOX" id="chbox"> 
<INPUT TYPE="CHECKBOX" id="chbox"> 
<INPUT TYPE="CHECKBOX" id="chbox"> 
<INPUT TYPE="CHECKBOX" id="chbox"> 
<INPUT TYPE="CHECKBOX" id="chbox"> 
<INPUT TYPE="CHECKBOX" id="chbox">

Не работает? Может что-то упустил?

Zzet 24.11.2009 17:45

прошу прощения в js опечатка
function myradio()
    {
         var radio=document.getElementById("r2");
         var ch=document.getElementById("chbox");
         if (radio.checked)
            {
                ch.value=checked; 
            }
         else ch.value=0; 
    }

Zzet 24.11.2009 18:00

нашел способ немного переделать обратился к этому топику
http://javascript.ru/forum/events/55...em-odnogo.html

Zzet 24.11.2009 18:02

но вот беда! в ИЕ не работает! а мне очень нужно!

neurostep 24.11.2009 18:06

id у элемента должен быть УНИКАЛЬНЫМ(единственным) на странице, а у Вас к каждому чекбоксу прописан один и тот же аттрибут id. Так делать нельзя! Пропишите чекбоксам класс(или оберните их в div с id), например так:
<div id="checkbox_container">
<INPUT TYPE="CHECKBOX"> 
<INPUT TYPE="CHECKBOX"> 
<INPUT TYPE="CHECKBOX"> 
<INPUT TYPE="CHECKBOX"> 
<INPUT TYPE="CHECKBOX"> 
<INPUT TYPE="CHECKBOX">
</div>


function myradio()
    {
         var radio=document.getElementById("r2");
         var checkboxes=document.getElementById("checkbox_container").getElementsByTagName('input');
         if (radio.checked)
            {
               for(var i=0; i<checkboxes.length; i++) {
                    checkboxes[i].checked = true;
               }
            }
    }

Zzet 24.11.2009 18:23

neurostep.Изменил все как написано.Не работает.

neurostep 25.11.2009 09:57

Что именно не работает? У меня все работает. Если нужно, чтобы при клике на второй радио баттон галочки с чекбоксов уберались - сделайте 2ую функцию, которая будет убирать эти галочки:
checkboxes[i].checked = false;

Zzet 08.12.2009 14:48

вопрос снят


Часовой пояс GMT +3, время: 12:30.