Возможно ли javascript'ом отметить всё radio-кнопки на странице?
На странице есть произвольное количество групп радио-кнопок. Каждая группа состоит из 3-х кнопок. Вот пример кода из 4-х групп:
<input type="radio" name="code[1]" value="0"> <input type="radio" name="code[1]" value="-1" checked> <input type="radio" name="code[1]" value="1"> <input type="radio" name="code[2]" value="0"> <input type="radio" name="code[2]" value="-1" checked> <input type="radio" name="code[2]" value="1"> <input type="radio" name="code[3]" value="0"> <input type="radio" name="code[3]" value="-1" checked> <input type="radio" name="code[3]" value="1"> <input type="radio" name="code[4]" value="0"> <input type="radio" name="code[4]" value="-1" checked> <input type="radio" name="code[4]" value="1"> По умолчанию выбраны кнопки со значением -1. Можно ли с помощью javascript'а изменить значения checked у всех? Чтобы оно стало, скажем у всех кнопок с value 0 или 1? |
Цитата:
Найти нужные элементы можно методом getElementsByTagName Полученную коллекцию перебираете в цикле, заменяя свойство checked в зависимости от свойства value. |
Мне не понятно, как их именовать? У них же имена все разные. В учебнике ничего по этому поводу не сказано. Какое имя в функции использовать для "code[цифра]"? Я вообще нигде ни одного примера не нашёл, хоть и говорят, что не надо изобретать велосипед и всё давным давно написано до нас.
|
Нормально вроде проименовано.
|
javascript_pupil,
обрати внимание, что для каждого блока кнопок даны одинаковые название. Это сделано для того, что бы в каждом блоке можно было выбрать только одну кнопку. А если ты например в первом блоке сделаешь так <input type="radio" name="code[1]" value="0"> <input type="radio" name="code[1]" value="-1" checked> <input type="radio" name="code[12]" value="1"> то в этом блоке будет возможность выбрать уже две кнопки. Теперь понял. Это например делается для того что бы выбрать пол при регистрации, т.к. человек не может иметь два пола одновременно )) <input type='radio' name='sex' value='1'>Мужской <input type='radio' name='sex' value='2'>Женский |
Блин, да знаю я для чего названия даны, я ж сам их давал. Просто я на Perl пишу, а с javascript'ом не знаком. И без примера функции вряд ли разберусь. Всё равно не догоняю я мысль, а примеров не нашёл.
|
первый вопрос, который, имхо, стоит задать: зачем изменять value? Я бы для value использовал натуральные числа: 1, 2, 3
upd: невнимательно прочитал |
пример:
window.onload = function(){ var aRadio = document.getElementsByTagName('input'); for (var i=0; i < aRadio.length; i++){ if (aRadio[i].type != 'radio') continue; //if (aRadio[i].value == 0) aRadio[i].checked = true; //if (aRadio[i].value == -1) aRadio[i].checked = true; if (aRadio[i].value == 1) aRadio[i].checked = true; } } |
Часовой пояс GMT +3, время: 19:40. |