Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите разобраться с чекбоксами (https://javascript.ru/forum/misc/23797-pomogite-razobratsya-s-chekboksami.html)

Vampir3 06.12.2011 21:44

Помогите разобраться с чекбоксами
 
<html>
<input type="checkbox" name="checkbox" id="cb1"><label for="cb1"> 1</font></label><br>
<input type="checkbox" name="checkbox" id="cb2"><label for="cb2"> 2</label><br>
<input type="checkbox" name="checkbox" id="cb3"><label for="cb3"> 3</label><br>
<input type="checkbox" name="checkbox" id="cb4"><label for="cb4"> 4</label><br>
<input type="checkbox" name="checkbox" id="cb5"><label for="cb5"> 5</label><br>
</html>


Вообщем есть 5 , чекбоксов. мне надо скриптрый бы делал не активными (disabled) 2 остальных элемента, если 3 любых чекбокса были бы checked

короче - я ставлю 3 любый чекбокса, а остальные 2 сразу "тухнут"
:help:

P.S. "Помогите!", "Не работает скрипт!", "Я нуб, нужен совет" :p

ksa 06.12.2011 21:53

Цитата:

Сообщение от Vampir3
короче - я ставлю 3 любый чекбокса, а остальные 2 сразу "тухнут"

Не совсем понятно...
Вот я начинаю выбирать чекбоксы... Сначала cb4, потом cb5, cb3. Вроде пока всё нормально. :) И вот я выбираю cb1 - что теперь должно произойти с чекбоксами?
Потом выбираю cb2 - что должно произойти?
Ну и контрольный! :0 Выбираю cb5 - что должно произойти?

Vampir3 06.12.2011 22:10

ну к примеру я выбираю cb1 - ничего не происxодит. выбираю cb2 - ничего не происxодит. выбираю cb3 - cb4, cb5 гаснут

devote 06.12.2011 22:43

ksa,
Да он хочет что бы выбрав три чекбокса остальные гасли... Тоесть нельзя выбрать больше трех чекбоксов...

...Мне лень писать пример

Vampir3 06.12.2011 22:53

Цитата:

Сообщение от devote (Сообщение 141110)
ksa,
Да он хочет что бы выбрав три чекбокса остальные гасли... Тоесть нельзя выбрать больше трех чекбоксов...

...Мне лень писать пример

ага, именно :) там через каждую ситуацию в if прописать?

что-то типа

if(cb1.checked==true || cb2.checked==true || cb3.checked==true){
cb4.disabled=true;
cb5.disabled=true;
}

и т.д?

devote 06.12.2011 23:09

Ну вот набросал что-то...

<html>
<body>
<input type="checkbox" name="checkbox" id="cb1"><label for="cb1"> 1</font></label><br>
 <input type="checkbox" name="checkbox" id="cb2"><label for="cb2"> 2</label><br>
 <input type="checkbox" name="checkbox" id="cb3"><label for="cb3"> 3</label><br>
 <input type="checkbox" name="checkbox" id="cb4"><label for="cb4"> 4</label><br>
 <input type="checkbox" name="checkbox" id="cb5"><label for="cb5"> 5</label><br>

<script type="text/javascript">
var cbs = [
        document.getElementById('cb1'),
        document.getElementById('cb2'),
        document.getElementById('cb3'),
        document.getElementById('cb4'),
        document.getElementById('cb5')
    ];

for(var i = 0; i < cbs.length; i++ ) {

    cbs[ i ].onclick = function() {

        var count_checked = 0;

        for(var i = 0; i < cbs.length; i++ ) {
            if ( cbs[ i ].checked ) {
               count_checked++;
            }
        }
        for(var i = 0; i < cbs.length; i++ ) {
            if ( count_checked >= 3 ) {
                if ( !cbs[ i ].checked ) cbs[ i ].disabled = true;
            } else {
                cbs[ i ].disabled = false;
            }
        }
    }
}
</script>

</body>
</html>

ksa 07.12.2011 09:11

Цитата:

Сообщение от devote
Тоесть нельзя выбрать больше трех чекбоксов...

Это-то я понял... :D
Вопрос как отключать уже выбраные, какие оставлять?

ksa 07.12.2011 09:13

Цитата:

Сообщение от devote
остальные гасли

Цитата:

Сообщение от devote
вот набросал что-то

Аааа дисейбл, вона чё... :)

Vampir3 07.12.2011 22:07

devote,спасибо) ты волшебник))

GuardCat 07.12.2011 22:16

Эх, а строки 31 -- 34 можно заменить на красивое
cbs[i].disabled = !cbs[i].checked;


Часовой пояс GMT +3, время: 00:20.