Foros del Web » Programando para Internet » Javascript »

sumar array de checkbox y mostrar suma en input text

Estas en el tema de sumar array de checkbox y mostrar suma en input text en el foro de Javascript en Foros del Web. Hola amigos: No se mucho de javascript y estoy tratando de sumar array de checkbox y mostrar suma en input text, pero no se como ...
  #1 (permalink)  
Antiguo 01/12/2009, 18:17
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Sonrisa sumar array de checkbox y mostrar suma en input text

Hola amigos:

No se mucho de javascript y estoy tratando de sumar array de checkbox y mostrar suma en input text, pero no se como hacerlo.

Esto es lo que he hecho:

Código HTML:
<tr>
        <td valign="top" bgcolor="#FF9900" class="Estilo12">&nbsp;</td>
                                  <td class="Estilo12">&nbsp;</td>
                                  <td class="Estilo12"><div align="center">
                 <input name="carrera1[]" type="checkbox" id="carrera1[]" value="1">
                                  </div></td>
                                  <td><div align="center">
                 <input name="carrera1[]" type="checkbox" id="carrera1[]" value="2">
                                  </div></td>
                                  <td><div align="center">
                <input name="carrera1[]" type="checkbox" id="carrera1[]" value="3">
                                  </div></td>
                                  <td><div align="center">
                <input name="carrera1[]" type="checkbox" id="carrera1[]" value="4">
                                  </div></td>
                                  <td><div align="center">
               <input name="carrera1[]" type="checkbox" id="carrera1[]" value="5">
                                  </div></td>
                                  <td><div align="center">
              <input name="carrera1[]" type="checkbox" id="carrera1[]" value="6">
                                  </div></td>
                                  <td><div align="center">
              <input name="carrera1[]" type="checkbox" id="carrera1[]" value="7">
                                  </div></td>
                                  <td><div align="center">
             <input name="carrera1[]" type="checkbox" id="carrera1[]" value="8">
                                  </div></td>
                                  <td><div align="center">
               <input name="carrera1[]" type="checkbox" id="carrera1[]" value="9">
                                  </div></td>
                                  <td><div align="center">
             <input name="carrera1[]" type="checkbox" id="carrera1[]" value="10">
                                  </div></td>
                                  <td><div align="center">
            <input name="carrera1[]" type="checkbox" id="carrera1[]" value="11">
                                  </div></td>
                                  <td><div align="center">
           <input name="carrera1[]" type="checkbox" id="carrera1[]" value="12">
                                  </div></td>
                                  <td><div align="center">
          <input name="carrera1[]" type="checkbox" id="carrera1[]" value="13">
                                  </div></td>
                                  <td><div align="center">
         <input name="carrera1[]" type="checkbox" id="carrera1[]" value="14">
                                  </div></td>
                                  <td><div align="center">
         <input name="total" type="text" id="total" size="15">
                                  </div></td>
                                </tr> 
Consegui esta funcion para sumar pero no se como usarla:

Código HTML:
<script language="JavaScript">
function sumar(frm) { 
  ele=frm.elements; 
  total=0; 
  for(i=0;i<ele.length;i++) 
    if(ele[i].type=='checkbox') 
      total+=(ele[i].checked) ? Number(ele[i].value) : 0; 
  document.frm.total.value=total;
} 
</script> 
Por favor denme un poco de orientacion para hacer esto. Gracias.
  #2 (permalink)  
Antiguo 02/12/2009, 09:06
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: sumar array de checkbox y mostrar suma en input text

por favor una ayudita, estoy trancada.... gracias.
  #3 (permalink)  
Antiguo 02/12/2009, 13:39
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: sumar array de checkbox y mostrar suma en input text

Ponele un id distinto a cada uno, llamalos con getElementById desde la funcion, y suma.
El resultado lo pones en el innerHTML del input, y listo
  #4 (permalink)  
Antiguo 02/12/2009, 15:46
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: sumar array de checkbox y mostrar suma en input text

Gracias jackson666, pero solo entendi lo de cambiar los id porque no se como hacer la funcion. Hay que llamar a cada uno con getElementById o mediante un arreglo. No se nada, es que recien empiezo con javascript porque solo he trabajado con html.

Quisiera saber como hago lo de getElementById y lo de innerHTML.
  #5 (permalink)  
Antiguo 02/12/2009, 16:09
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: sumar array de checkbox y mostrar suma en input text

Consegui esta pero al marcar las opciones las hace bien pero cuando desmarco no lo hace incluso me pone numeros negativos. Lo que quiero es que al marcar cada una sume 1 y coloque en el resultado y al desmarcar alguna lo reste y aparezca en el resultado. Esta es la funcion:

Código:
function precio (valor, idbutton) {
if (document.getElementById(idbutton).checked) {
total=parseInt(total) + parseInt(valor);
document.getElementById('textovalor').innerHTML = total;

}
else {
total=parseInt(total)-parseInt(valor);
document.getElementById('textovalor').innerHTML = total;
}
}
  #6 (permalink)  
Antiguo 02/12/2009, 16:31
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: sumar array de checkbox y mostrar suma en input text

a cada input le pones un id por ejemplo

id="chk1"
id="chk2"
id="chk3"

y asi sucesivamente

despues te haces una funcion que tenga esta pinta

function suma(){

var chk1=document.getElementById("chk1");

//lo mismo para la x cantidad de inputs q tengas, 1 variable por input

//luego haces

var total=chk1+chk2+chk3........;

document.write(total);

}

Se entendio?
  #7 (permalink)  
Antiguo 02/12/2009, 17:53
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: sumar array de checkbox y mostrar suma en input text

jackson666 si entendi. Gracias pero no me funciono. La funcion que coloque antes si me va bien pero me falta que al marcar cada una sume 1 y coloque en el resultado y al desmarcar alguna lo reste y aparezca en el resultado.

Es posible arreglarla para que haga esto?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:19.