Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.12.2009, 18:07
Интересующийся
Отправить личное сообщение для JooZ Посмотреть профиль Найти все сообщения от JooZ
 
Регистрация: 26.03.2009
Сообщений: 10

Выделить группу чекбоксов. В группе может быть только один чекбокс.
<html>
<head>
<script type="text/javascript">
function checkAll(oForm, cbName, checked)
{
for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
}
</script>
</head>

<body>
<form name="form1" method="post" action="">
<input type="checkbox" name="total" value="checkbox" onClick="checkAll(this.form,'checkbox[]',this.checked)">Отметить все
<br>
<input type="checkbox" name="checkbox[]" value="checkbox">1
<br>
<input type="checkbox" name="checkbox[]" value="checkbox">2
<br>
<input type="checkbox" name="checkbox[]" value="checkbox">3
</form>
</body>
</html>


Этот код прекрасно работает, но только если количество чекбоксов в группе больше 1.
Но если в группе будет только один чекбокс - то функция не срабатывает...
Почему?
Ответить с цитированием
  #2 (permalink)  
Старый 23.12.2009, 18:33
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

function checkAll(oForm, cbName, checked)
{
if(oForm[cbName].length)
	for (var i=0; i < oForm[cbName].length; i++)
		oForm[cbName][i].checked = checked;
else
	oForm[cbName].checked = checked;
}

прошу
проблема в том, что когда чекбокс один, то oForm[cbName] уже не список элементов(точнее не список из одного элемента), а сам элемент уже
Ответить с цитированием
  #3 (permalink)  
Старый 23.12.2009, 19:28
Интересующийся
Отправить личное сообщение для JooZ Посмотреть профиль Найти все сообщения от JooZ
 
Регистрация: 26.03.2009
Сообщений: 10

Понятно)
Спасибо огромное)
Ответить с цитированием
Ответ



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

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