El script funciona masomenos bien, porque si marco el primer checkbox se muestra el div oculto y se suma 1 y su marco otro suma 1, etc... si desmarco 1 se resta 1, pero si desmarco el primer checkbox aunque otros estén seleccionados se oculta el div.
Alguien sabe porque sucede esto?
Aquí el código completo:
Código HTML:
Ver original
<!DOCTYPE HTML> <html> <head> <script type="text/javascript"> function showContent() { element = document.getElementById("content"); check = document.getElementById("check"); if(check.checked) { element.style.display='block'; } else { element.style.display='none'; } } function countCheckboxes() { var form = document.getElementById('multi-select'); var count = 0; for(var n = 0; n < form.length; n++) { if(form[n].name == 'selected[]' && form[n].checked) { count++; } } document.getElementById('count-selected').innerHTML = count; } </script> </head> <body> <form action="#" method="post" id="multi-select" > <input type="checkbox" name="selected[]" id="check" value="1" onclick="countCheckboxes(); showContent()" /> <input type="checkbox" name="selected[]" id="check" value="1" onclick="countCheckboxes(); showContent()" /> <input type="checkbox" name="selected[]" id="check" value="1" onclick="countCheckboxes(); showContent()" /> <input type="checkbox" name="selected[]" id="check" value="1" onclick="countCheckboxes(); showContent()" /> <input type="checkbox" name="selected[]" id="check" value="1" onclick="countCheckboxes(); showContent()" /> <input type="checkbox" name="selected[]" id="check" value="1" onclick="countCheckboxes(); showContent()" /> </form> <div id="content" style="display: none;"> </div> </body> </html>
Saludos y gracias de antemano