[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выделение чекбоксов. Небольшая проблема есть
AnonimUser
Добрый день!

Есть проблема с ява-скриптом, который выделяет чекбоксы.
От код
Код
function checkAll(oForm, cbName, checked)
{
    for (var i=0; i < oForm[cbName].length; i++)
    {
         oForm[cbName][i].checked = checked;
    }
}


Пример использования
Код
onClick="checkAll(this.form,'user[]',this.checked)\


Этот код хорошо выделяет когдаесть больше оджного чекбокса, но когда чекбокс всего один, то этот код не работает. Да, конечно может показаться, что зачем это делать если один чекбокс.., но тут количество чекбоксов зависит от ситуации. Может быть один, а может быть 100.

Помогите разобраться с этим кодом, чтобы он могу выделять и один чекбокс blush.gif
dumau.gif



Спустя 1 час, 19 минут, 4 секунды (31.08.2007 - 11:27) RixAnd написал(а):
Проверяй

if (oForm[cbName].length)

если фалзе тогда обращаяся как к одному элементу

Спустя 6 часов, 47 минут, 49 секунд (31.08.2007 - 18:15) AnonimUser написал(а):
RixAnd? спасибо!

А кто знает как выделить все чекбоксы в пределах, например, одного дива?? unsure.gif
Код
<div id='qwerty'>
чекбокс
чекбокс
чекбокс
чекбокс
чекбокс
</div>


Спустя 1 день, 17 часов, 56 минут, 50 секунд (3.09.2007 - 12:12) RixAnd написал(а):
Цитата(AnonimUser @ 31.8.2007, 16:15) [snapback]26646[/snapback]
А кто знает как выделить все чекбоксы в пределах, например, одного дива?? unsure.gif
Код
<div id='qwerty'>
чекбокс
чекбокс
чекбокс
чекбокс
чекбокс
</div>

А что нельзя давать разные имена в разных дивах?

Спустя 1 год, 7 месяцев, 7 дней, 22 часа, 15 минут, 57 секунд (11.04.2009 - 10:28) Yurka_kursant написал(а):
У меня такая проблема: есть 3 элемента checkbox, которые при нажатии на каждый из них onClick, активируют функции, которые в свою очередь изменяют текст в textarea. И есть кнопка "Выделить все!", которая выделяет(отмчает) все эти 3 чекбокса, используя функцию checkAll(). Но при выделении чекбоксов кнопкой "Выделить все!", текст в textarea не меняется, т.е. не срабатывает onClick, используемый в чекбоксах.
Вопрос: Как сделать так, чтобы при нажатии на кнопку "Выделить все!",
1) выделялись(отмечались) все чекбоксы;
2) изменялся текст в textarea?

Помогите пожалуйста!

Вот код:

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251" />

<script LANGUAGE="JavaScript">
<!-- Begin
function replaceChars(entry) {
out = "очепятка"; // это слово заменяем
add = "опечатка"; // на это
temp = "" + entry; // temporary holder

while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add +
temp.substring((pos + out.length), temp.length));
}
document.FormPopUp.TxtPopUp.value = temp;
}
// End -->

<!-- Begin
function replaceChars1(entry) {
out = "--"; // этот символ заменяем
add = " - "; // на этот
temp = "" + entry; // temporary holder

while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add +
temp.substring((pos + out.length), temp.length));
}
document.FormPopUp.TxtPopUp.value = temp;
}
// End -->

<!-- Begin
function replaceChars2(entry) {
out = "(dp.ru)"; // это выражение
add = ""; // удаляем
temp = "" + entry; // temporary holder

while (temp.indexOf(out)>-1) {
pos= temp.indexOf(out);
temp = "" + (temp.substring(0, pos) + add +
temp.substring((pos + out.length), temp.length));
}
document.FormPopUp.TxtPopUp.value = temp;
}
// End -->

<!-- Begin
function checkAll() {
for (var j = 1; j <= 3; j++) {
box = eval("document.FormPopUp.C" + j);
if (box.checked == false) box.checked = true;
}
}
// End -->
</script>

</head>

<body>
<center>

<form name=FormPopUp>
<table border=1>
<tr>
<td colspan=3 ALIGN="right" bgcolor="gray">
<input type=button value="Включить все!" onClick="checkAll();" onMouseOver="style.color='blue'" onMouseOut="style.color='black'">
</td>
</tr>

<tr>
<td colspan=3 align="center">
<textarea name=TxtPopUp rows="4" cols="35" value="">очепятка--(dp.ru)</textarea>
</td>
</tr>

<tr>
<td><center>

<div style="width:300px; height:100px;">
<TABLE BORDER=1 wiDTH=300 height=100 CELLPADDING=0 CELLSPACING=0>

<TR>
<TD align="center">
<input type=checkbox name=C1 onClick="replaceChars(document.FormPopUp.TxtPopUp.value);">Исправить</center>
</td>
<td>
<center> очепятка</center>
</td>
<td>
<center> опечатка</center>
</td>
</tr>

<tr>
<td><center>
<input type=checkbox name=C2 onClick="replaceChars1(document.FormPopUp.TxtPopUp.value);">Исправить</center>
</td>
<td>
<center>--</center>
</td>
<td>
<center> - </center>
</td>
</tr>

<tr>
<td><center>
<input type=checkbox name=C3 onClick="replaceChars2(document.FormPopUp.TxtPopUp.value);">Исправить</center>
</td>
<td>
<center> (dp.ru) </center>
</td>
<td>
<center> "удалить" </center>
</td>
</tr>

</table>
</div>

</TD>
</TR>
</TABLE>

</form>
</center>

</body>
</html>


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.