Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Não estou conseguindo somar alguns checkboxes de valores em Float..
Por exemplo:
Quero selecionar vários checkboxes e ir somando em um campo de texto..
consegui fazer algo parecido
mas quando desmarco, ele continua somando...se alguém souber...
Script:
<script language="JavaScript">
total = 0; //toal é zero no começo
function checar(){
var form = document.forms[0]; //pega o primeiro form q aparecer
for (var i=0;i < form.elements.length;i++) //checa o numero de elementos no form
{
if(form.elements[i].type == "checkbox") //procura somente pelos 'checkbox'
{
checa = form.elements[i].getAttribute("name"); //pega o atributo ID de cada checkbox
if(checa == "check[]" && (form.elements[i].checked)){ //compara pra ver se está marcado
total = (parseInt(total) + parseInt(form.elements[i].value)); //transforma em Integer pra poder somar certo
}else if(checa == "check[]"){
total = (parseInt(total) - parseInt(form.elements[i].value)); //transforma em Integer pra poder somar certo
}
}
}
form.total_valor.value = total; //atualiza o campo
}
</script>
HTML:
<input type="checkbox" name="check[]" id="check[]" class="radio" value="99.90" onchange="checar();"/>
<input type="checkbox" name="check[]" id="check[]" class="radio" value="29.90" onchange="checar();"/>
<input type="checkbox" name="check[]" id="check[]" class="radio" value="39.90" onchange="checar();"/>
<input type="checkbox" name="check[]" id="check[]" class="radio" value="19.90" onchange="checar();"/>
<input type="checkbox" name="check[]" id="check[]" class="radio" value="24.90" onchange="checar();"/>
<input type="checkbox" name="check[]" id="check[]" class="radio" value="39.90" onchange="checar();"/>
<input type="checkbox" name="check[]" id="check[]" class="radio" value="29.90" onchange="checar();"/>
<input type="checkbox" name="check[]" id="check[]" class="radio" value="19.90" onchange="checar();"/>
<input type="text" name="total_valor" value="" size="30"/>Carregando comentários...