Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кол-во отмеченных чекбоксов 
:(
    Опции темы
Bolt
Дата 19.7.2006, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 21.2.2005

Репутация: нет
Всего: нет



Доброго времени суток!

у меня в форме есть две группы чекбоксов:
name="reader|1"
name="writer|1"
...
...
name="reader|435"
name="writer|435"
--------------------------
т.е. чекбоксов может быть от 30(минимум) до 500(по 250 в каждой группе: "reader" и "writer" соответственно)
каким образом посчитать кол-во выделенных чекбоксов и отключить все остальные в этой группе(именно в одной из двух. в каждой из групп можно выделить по 15), если выделенных больше 15?
как только кол-во выделенных == 15 для остальных в этой группе делаем disabled.
мой JS - увы - далек от совершенства, а на эксперименты практически не осталось времени.

спасибо.
PM WWW ICQ   Вверх
Burrr
Дата 19.7.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 459
Регистрация: 4.9.2005

Репутация: 10
Всего: 20



Лови:
Код

<body>
<script type="text/javascript">
var maxReader = 15;
var maxWriter = 15;
function checkState(chcb) {
    var form = document.forms["oForm"];
    var readerCont = 0;
    var writerCont = 0;
    for(i = 0; i < form.elements.length; i++) {
        if (form.elements[i].type == "checkbox" && form.elements[i].name.indexOf("reader") != -1 && form.elements[i].checked) {
            readerCont++;
        } else if (form.elements[i].type == "checkbox" && form.elements[i].name.indexOf("writer") != -1 && form.elements[i].checked) {
            writerCont++;
        }
    }
    if (readerCont < maxReader) disableCheckGroup("reader", false);
    else disableCheckGroup("reader", true);
    if (writerCont < maxWriter) disableCheckGroup("writer", false);
    else disableCheckGroup("writer", true);
}
function disableCheckGroup(namePart, flag) {
    var form = document.forms["oForm"];
    for(i = 0; i < form.elements.length; i++) {
        if (form.elements[i].type == "checkbox" && form.elements[i].name.indexOf(namePart) != -1 && !form.elements[i].checked) {
            form.elements[i].disabled = flag;
        }
    }
}
</script>
<form name="oForm">
<table border="1"><tr>
    <td>
        <input type="checkbox" name="reader|1" onclick="checkState()"><br>
        <input type="checkbox" name="reader|2" onclick="checkState()"><br>
        <input type="checkbox" name="reader|3" onclick="checkState()"><br>
        <input type="checkbox" name="reader|4" onclick="checkState()"><br>
        <input type="checkbox" name="reader|5" onclick="checkState()"><br>
        <input type="checkbox" name="reader|6" onclick="checkState()"><br>
        <input type="checkbox" name="reader|7" onclick="checkState()"><br>
        <input type="checkbox" name="reader|8" onclick="checkState()"><br>
        <input type="checkbox" name="reader|9" onclick="checkState()"><br>
        <input type="checkbox" name="reader|10" onclick="checkState()"><br>
        <input type="checkbox" name="reader|11" onclick="checkState()"><br>
        <input type="checkbox" name="reader|12" onclick="checkState()"><br>
        <input type="checkbox" name="reader|13" onclick="checkState()"><br>
        <input type="checkbox" name="reader|14" onclick="checkState()"><br>
        <input type="checkbox" name="reader|15" onclick="checkState()"><br>
        <input type="checkbox" name="reader|16" onclick="checkState()"><br>
        <input type="checkbox" name="reader|17" onclick="checkState()"><br>
        <input type="checkbox" name="reader|18" onclick="checkState()"><br>
        <input type="checkbox" name="reader|19" onclick="checkState()"><br>
        <input type="checkbox" name="reader|20" onclick="checkState()"><br>
        <input type="checkbox" name="reader|21" onclick="checkState()"><br>
        <input type="checkbox" name="reader|22" onclick="checkState()"><br>
        <input type="checkbox" name="reader|23" onclick="checkState()"><br>
        <input type="checkbox" name="reader|24" onclick="checkState()"><br>
        <input type="checkbox" name="reader|25" onclick="checkState()"><br>
    </td><td>
        <input type="checkbox" name="writer|1" onclick="checkState()"><br>
        <input type="checkbox" name="writer|2" onclick="checkState()"><br>
        <input type="checkbox" name="writer|3" onclick="checkState()"><br>
        <input type="checkbox" name="writer|4" onclick="checkState()"><br>
        <input type="checkbox" name="writer|5" onclick="checkState()"><br>
        <input type="checkbox" name="writer|6" onclick="checkState()"><br>
        <input type="checkbox" name="writer|7" onclick="checkState()"><br>
        <input type="checkbox" name="writer|8" onclick="checkState()"><br>
        <input type="checkbox" name="writer|9" onclick="checkState()"><br>
        <input type="checkbox" name="writer|10" onclick="checkState()"><br>
        <input type="checkbox" name="writer|11" onclick="checkState()"><br>
        <input type="checkbox" name="writer|12" onclick="checkState()"><br>
        <input type="checkbox" name="writer|13" onclick="checkState()"><br>
        <input type="checkbox" name="writer|14" onclick="checkState()"><br>
        <input type="checkbox" name="writer|15" onclick="checkState()"><br>
        <input type="checkbox" name="writer|16" onclick="checkState()"><br>
        <input type="checkbox" name="writer|17" onclick="checkState()"><br>
        <input type="checkbox" name="writer|18" onclick="checkState()"><br>
        <input type="checkbox" name="writer|19" onclick="checkState()"><br>
        <input type="checkbox" name="writer|20" onclick="checkState()"><br>
        <input type="checkbox" name="writer|21" onclick="checkState()"><br>
        <input type="checkbox" name="writer|22" onclick="checkState()"><br>
        <input type="checkbox" name="writer|23" onclick="checkState()"><br>
        <input type="checkbox" name="writer|24" onclick="checkState()"><br>
        <input type="checkbox" name="writer|25" onclick="checkState()"><br>
    </td>
</tr></table>
</form>
</body>
 


--------------------
PM MAIL ICQ   Вверх
Bolt
Дата 21.7.2006, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 21.2.2005

Репутация: нет
Всего: нет



Burrr, реально работающий пример.
Спасибо, мегачеловечище.
 smile  
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0702 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.