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

Присваивание параметра disabled для checkbox/radio по событию
Здравствуйте.

Есть следующий код:
<html>
<head>
<script type="text/javascript">
function EnableDisable(x)
{
	var a = x.id; // Получаем id выбранного элемента
	y = parseInt(a) % 10; // Узнаем последнюю цифру id выбранного элемента
	if (y == 1) // Определяем, какие id у отсавщихся элементов в строке
	{
		var b = parseInt(a)+1;
		var c = parseInt(a)+2;
	}
	if (y == 2) // в зависимости от последней цифры
	{
		var b = parseInt(a)+1;
		var c = parseInt(a)-1;
	}
	if (y == 3) // выбранного элемента
	{
		var b = parseInt(a)-2;
		var c = parseInt(a)-1;
	}
	if (document.getElementById(a).checked == true) // Делаем disabled другие элементы строчки
	{
		document.getElementById(b).disabled = true;
		document.getElementById(c).disabled = true;
	}
	if (document.getElementById(a).checked == false) // или снимаем с них disabled 
	{
		document.getElementById(b).disabled = false;
		document.getElementById(c).disabled = false;
	}
}
</script>
</head>
<body>
1 
<input type=checkbox name=1 id=1231 onclick='EnableDisable(this);'>
<input type=checkbox name=2 id=1232 onclick='EnableDisable(this);'>
<input type=checkbox name=3 id=1233 onclick='EnableDisable(this);'>
<br>
2 
<input type=checkbox name=1 id=4561 onclick='EnableDisable(this);'>
<input type=checkbox name=2 id=4562 onclick='EnableDisable(this);'>
<input type=checkbox name=3 id=4563 onclick='EnableDisable(this);'>
<br>
3 
<input type=checkbox name=1 id=7891 onclick='EnableDisable(this);'>
<input type=checkbox name=2 id=7892 onclick='EnableDisable(this);'>
<input type=checkbox name=3 id=7893 onclick='EnableDisable(this);'>
</body>
<html>


Суть - из MySQL в html-форму вытягиваются записи с уникальными id. Напротив каждой записи делается три (пять, десять) чекбоксов. Каждый столбик чекбоксов получает уникальный номер. Каждый чекбокс искуственно получает уникальный id в виде "id из базы + номер столбика чекбоксов". При выборе одного из чекбоксов в строке остальные становятся не активными, при снятии выбора они активируются.
Написанная выше функция все это делает.

Мне нужно, чтобы в каждом столбике пользователь мог выбрать только одну галочку - оптимально вместо чекбокса поставить группы радиокнопок (по столбикам name=1, name=2, name=3).

Теперь вопрос. Если эту функцию приклеить к радиокнопке, то как получить id кнопки, которая будет терять атрибут checked, при клике на другой переключатель с того-же столбика? Я не могу додуматься (ввиду слабых познаний javascript) и поэтому не могу вернуть переключатели в активное состояние. Прошу не копировать весь код моей формы, а только подсказать алгоритм получения id.

Буду благодарен за помощь.

Последний раз редактировалось Игося, 17.12.2012 в 20:43.
Ответить с цитированием