Foros del Web » Programando para Internet » Javascript »

carrito de compras

Estas en el tema de carrito de compras en el foro de Javascript en Foros del Web. estoy aprendiendo Javascript, major dicho ahora aprendo el DOM y utilizando el getElementsBYName o getelementbyId, tengo que hacer esto: tengo una lista de productos, al ...
  #1 (permalink)  
Antiguo 23/05/2011, 19:02
 
Fecha de Ingreso: agosto-2005
Mensajes: 97
Antigüedad: 18 años, 8 meses
Puntos: 1
carrito de compras

estoy aprendiendo Javascript, major dicho ahora aprendo el DOM y utilizando el getElementsBYName o getelementbyId, tengo que hacer esto: tengo una lista de productos, al lado de cada producto tiene que aparecer la cantidad de veces que hice clic en ese producto, no me sale si alguien me ayuda, el ejemplo del formulario que tengo es este:

<body>
<div id="div">
<h1>Carrito</h1>
<div id="centro">
Productos
<div id="productos"></div>
</div>
<input type="button" value="Caramelos" />
<input type="button" value="Harina" />
<input type="button" value="Miel" />
<input type="button" value="Alfajores" />
</div>
  #2 (permalink)  
Antiguo 24/05/2011, 03:25
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: carrito de compras

Código Javascript:
Ver original
  1. function cuenta(boton){
  2.     var botones = boton.parentNode.getElementsByTagName("button");
  3.  
  4.     for (var i = 0; i < botones.length; i++) {
  5.             if(botones[i] == boton){break;}
  6.     }  
  7.    
  8.     var span = boton.parentNode.getElementsByTagName("span")[i];
  9.     span.innerHTML = Number(span.innerHTML)+1;
  10.    
  11. }
Código HTML:
Ver original
  1. <div id="contenedor">
  2. <button onclick="cuenta(this)">Cuenta</button><span>0</span><br />
  3. <button onclick="cuenta(this)">Cuenta</button><span>0</span><br />
  4. <button onclick="cuenta(this)">Cuenta</button><span>0</span><br />
  5. </div>
  #3 (permalink)  
Antiguo 24/05/2011, 05:42
 
Fecha de Ingreso: agosto-2005
Mensajes: 97
Antigüedad: 18 años, 8 meses
Puntos: 1
Respuesta: carrito de compras

si me podes explicar un poco el codigo....no entiendo lo de var span...



Cita:
Iniciado por InKarC Ver Mensaje
Código Javascript:
Ver original
  1. function cuenta(boton){
  2.     var botones = boton.parentNode.getElementsByTagName("button");
  3.  
  4.     for (var i = 0; i < botones.length; i++) {
  5.             if(botones[i] == boton){break;}
  6.     }  
  7.    
  8.     var span = boton.parentNode.getElementsByTagName("span")[i];
  9.     span.innerHTML = Number(span.innerHTML)+1;
  10.    
  11. }
Código HTML:
Ver original
  1. <div id="contenedor">
  2. <button onclick="cuenta(this)">Cuenta</button><span>0</span><br />
  3. <button onclick="cuenta(this)">Cuenta</button><span>0</span><br />
  4. <button onclick="cuenta(this)">Cuenta</button><span>0</span><br />
  5. </div>
  #4 (permalink)  
Antiguo 28/05/2011, 12:51
 
Fecha de Ingreso: noviembre-2005
Mensajes: 426
Antigüedad: 18 años, 5 meses
Puntos: 87
Respuesta: carrito de compras

Cita:
function cuenta(boton){
Una funcion que recibe un parametro: el boton clickeado

Cita:
var botones = boton.parentNode.getElementsByTagName("button");
Seleccionamos todos los botones

Cita:
for (var i = 0; i < botones.length; i++) {
if(botones[i] == boton){break;}
}
Hacemos un 'recorrido' para saber la posicion del boton (en el ejemplo seria un numero del 0 al 2) y guardamos la posicion en la variable i (var i)

Cita:
var span = boton.parentNode.getElementsByTagName("span")[i];
Como sabemos que hay igual cantidad de INPUTS que de SPANS simplemente seleccionamos el SPAN que esta en la misma posicion.

Cojemos el contenido de ese span y le sumamos uno.
Cita:
span.innerHTML = Number(span.innerHTML)+1;

Etiquetas: carrito, compras
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 02:23.