Hola que tal, bueno la verdad es que no se nada de javascript y lo que quiero hacer es que estén varios checkbox y cuando se marque uno, el que sea, se muestre un div oculto y se sume uno y si se marca otro se sume otro y así sucesivamente y buscando por internet encontré varios códigos y los adapte a mis necesidades.
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>
<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;
}
<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()" />
<div id="content" style="display: none;"> <a href="#" style="float: left; padding: 0 10px; text-decoration: none;background: #55B05A;color: white;font-weight: bold;"><div id="count-selected">0 Selected
</div> </a>
Saludos y gracias de antemano