Galera, seguinte. Estou tentando criar um evento em javascript que funciona da seguinte maneira; existem 5 checkbox na tela, ao selecionar dois checkbox os outros irão travar e não permitir o clique, se o usuário clicar novamente retirando a seleção de algum dos que foi selecionado ele volta a habilitar. Até então o código funciona blz, porém agora eu preciso fazer com que os dois primeiros checkbox contém como um único clique, ou seja, são 2 checkbox para travar, porém se eu selecionar o primeiro e o segundo eles contam como um, então eu o usuário poderia realizar outro clique em algum checkbox e ficariam 3 checkbox selecionados, porém isso só se aplica aos dois primeiros checkbox, caso não sejam eles é apenas dois cliques, se eles forem clicados o usuário pode escolher mais uma opção.
o código atual está assim:
<script type="text/javascript">
(function(){
"use strict";
var marcados = 0;
var verifyCheckeds = function($checks) {
if( marcados>=2 ) {
loop($checks, function($element) {
$element.disabled = $element.checked ? '' : 'disabled';
});
} else {
loop($checks, function($element) {
$element.disabled = '';
});
}
};
var loop = function($elements, cb) {
var max = $elements.length;
while(max--) {
cb($elements[max]);
}
}
var count = function($element) {
return $element.checked ? marcados + 1 : marcados - 1;
}
window.onload = function(){
var $checks = document.querySelectorAll('input[type="checkbox"][name="modalidades[]"]');
loop($checks, function($element) {
$element.onclick = function(){
marcados = count(this);
verifyCheckeds($checks);
}
if($element.checked) marcados = marcados + 1;
});
verifyCheckeds($checks);
}
}());
</script>
Quem conseguir me ajudar eu agradeço, preciso muito desse código rodando.