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

devote 07.12.2011 22:21

GuardCat,
не получтиться, там проверка на if ( count_checked >= 3 ) {}, то есть дисаблим тока если чекнуто три

GuardCat 07.12.2011 22:32

Таки ну! Проверку на тройственность чекнутости не трогаем, речь о том, что внутри неё. Говорю же строки 31 -- 34. Или с телефона он мне неверно строки показывает?

devote 07.12.2011 22:36

Эх как жешь с вами тяжело, :agree: смотрим твое предложение:
<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 ) { 
                cbs[i].disabled = !cbs[i].checked;
            } 
        } 
    } 
} 
</script> 
  
</body> 
</html>


Надеюсь этого достаточно что бы ты понял в чем тут изюминка

GuardCat 07.12.2011 22:48

Да блин, я приделал else не к тому if'у мысленно, пардон. Переносы по ширине экрана на телефоне обманули нетренированный глаз. Эх, а так красиво придумал оптимизировать несуществующую конструкцию (вздыхает).


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