Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.07.2009, 17:03
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 170

Возможно ли 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?
Ответить с цитированием
  #2 (permalink)  
Старый 05.07.2009, 19:38
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от javascript_pupil
Можно ли с помощью javascript'а изменить значения checked у всех?
Можно.
Найти нужные элементы можно методом getElementsByTagName
Полученную коллекцию перебираете в цикле, заменяя свойство checked в зависимости от свойства value.
Ответить с цитированием
  #3 (permalink)  
Старый 05.07.2009, 19:49
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 170

Мне не понятно, как их именовать? У них же имена все разные. В учебнике ничего по этому поводу не сказано. Какое имя в функции использовать для "code[цифра]"? Я вообще нигде ни одного примера не нашёл, хоть и говорят, что не надо изобретать велосипед и всё давным давно написано до нас.
Ответить с цитированием
  #4 (permalink)  
Старый 05.07.2009, 19:52
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Нормально вроде проименовано.
Ответить с цитированием
  #5 (permalink)  
Старый 05.07.2009, 21:06
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

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'>Женский
Ответить с цитированием
  #6 (permalink)  
Старый 05.07.2009, 21:15
Профессор
Отправить личное сообщение для javascript_pupil Посмотреть профиль Найти все сообщения от javascript_pupil
 
Регистрация: 05.07.2009
Сообщений: 170

Блин, да знаю я для чего названия даны, я ж сам их давал. Просто я на Perl пишу, а с javascript'ом не знаком. И без примера функции вряд ли разберусь. Всё равно не догоняю я мысль, а примеров не нашёл.
Ответить с цитированием
  #7 (permalink)  
Старый 06.07.2009, 18:34
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

первый вопрос, который, имхо, стоит задать: зачем изменять value? Я бы для value использовал натуральные числа: 1, 2, 3
upd: невнимательно прочитал

Последний раз редактировалось x-yuri, 06.07.2009 в 22:28.
Ответить с цитированием
  #8 (permalink)  
Старый 06.07.2009, 22:20
Кандидат Javascript-наук
Отправить личное сообщение для `p r o x y Посмотреть профиль Найти все сообщения от `p r o x y
 
Регистрация: 04.05.2009
Сообщений: 105

пример:

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;
	}
}

Последний раз редактировалось `p r o x y, 06.07.2009 в 22:33.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 13:37